您好,欢迎来到99网。
搜索
您的当前位置:首页【设计模式】——观察者

【设计模式】——观察者

来源:99网

观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。生活中的例子,就是Foxmail订阅和邮件订阅等情况。

 

观察者模式提供了一种对象设计,让主题和观察者之间松耦合。

观察者与主题之间依赖于接口,主题不需要知道观察者的具体实现

可以动态添加删除观察者,对主题没有任何影响

新增新类型的观察者对主题没有影响,主题的代码不需要修改,而且旧的观察者也不受影响

观察者与主题都可以复用,因为是松耦合

只要约定的接口不改变,修改主题或观察者任何一方,都不会影响另一方

static void Main(string[] args)
        {
            //老板胡汉三
            Boss huhansan = new Boss();

            //看股票的同事
            StockObserver tongshi1 = new StockObserver("魏冠超", huhansan);
            //看NBA的同事
            NBAObserver tongshi2 = new NBAObserver("易冠茶", huhansan);
            huhansan.Attach(tongshi1);
            huhansan.Attach(tongshi2);

            huhansan.Detach(tongshi1);

            //老板回来
            huhansan.SubjectState = "我胡汉三回来了";
            //发出通知
            huhansan.Notify();
        }


因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务