欢迎您来到GIS动力

加入收藏 免费注册 用户登陆 帮助中心
首页 新闻动态 技术专栏 银杏树下 学习考研 软件下载 求职招聘 许愿瓶 节日祝福 用户中心 精彩推荐 资源搜索 地图
专栏导航: AO开发 | SO开发 | ArcGIS桌面 | 超图桌面 | 开发语言 | 数据库 | WebGIS | 银杏文学 | 研究生考题 | FreeMap FreeTalk
   您现在位于: 首页技术专栏开发语言 → 正文
C#观察者observer模式实现
08-08-15 16:56:00 作者:自留地 出处:http://hi.baidu.com/qualylee
题目:猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)

要求:   1.要有联动性,老鼠和主人的行为是被动的。

2.考虑可扩展性,猫的叫声可能引起其他联动效应。


要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象
              <1>.构造出Cat、Mouse、Master三个类,并能使程序运行(2分)
             <2>从Mouse和Master中提取抽象(5分)
             <3>联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。(3分)


     public interface Observer
     {
         void Response();     //观察者的响应,如是老鼠见到猫的反映
     }
     public interface Subject
     {
         void AimAt(Observer obs);   //针对哪些观察者,这里指猫的要扑捉的对象---老鼠
     }
     public class Mouse : Observer
     {
         private string name;
         public Mouse(string name, Subject subj)
         {           
             this.name = name;
             subj.AimAt(this);
         }
        
         public void Response()
         {
           &n

9 7 3 1 2 3 4 5 4 8 :

(本文已被浏览 次)
发布人:admin
推荐给好友:发送给好友
上篇新闻:
下篇新闻:
相关评论
发表我的评论
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  •   相关文章  
    无相关新闻

    关于我们友情链接 ┋ 与我在线 ┋ 管理 ┋ TOP
     
    网站当前版本:GisPower CMS V3.0
    『GIS 动力』- http://www.gispower.org/
    联系我们:webmaster#gispower.org
    Copyright (c) 2003-2007 GisPOwer.Org. All Rights Reserved.
     

                   滇ICP备05006901号