设计模式-观察者模式

//主题
interface Subject
    {
        void Notify();
        string msg { get; set; }
        UpdateHandler Update { get; set; }
    }
    delegate void UpdateHandler();
    class ChildSubject : Subject
    {
        public UpdateHandler Update { get; set; }
        public string msg { get; set; }        

        public void Notify()
        {
            Update();
        }
    }
//观察者       
abstract class Observer
    {
        public string name;
        public Subject subject;
        public Observer(string _name, Subject _subject)
        {
            name = _name;
            subject = _subject;
        }
    }
    class Site: Observer
    {
        public Site(string _name, Subject _subject) : base(_name, _subject)
        {
        }

        public void RefreshSite()
        {
            Console.WriteLine("{0},{1}需要同步更新", subject.msg,name);
        }
    }
    class App: Observer
    {
        public App(string _name, Subject _subject) : base(_name, _subject)
        {
        }
        //方法名称不一样,所以抽象没意义
        public void RefreshApp()
        {
            Console.WriteLine("{0},{1}需要同步更新", subject.msg, name);
        }
    }
        //前端
        static void Main(string[] args)
        {
            Subject subject = new ChildSubject();
            Site site = new Site("电脑网站", subject);
            App app = new App("手机APP", subject);
            subject.msg = "数据库被更新了";
            subject.Update += site.RefreshSite;
            subject.Update += app.RefreshApp;
            subject.Notify();
            Console.ReadLine();
        } 

总结:观察者模式适用于某个对象发生变化后会引起其他对象发生连锁反应的情况下,(两个类有依赖关系的情况下)。
设计模式-观察者模式

成都创新互联是一家集网站建设,富顺企业网站建设,富顺品牌网站建设,网站定制,富顺网站建设报价,网络营销,网络优化,富顺网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。


本文题目:设计模式-观察者模式
网址分享:http://bzwzjz.com/article/pcccsp.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: H5网站制作 成都营销网站建设 成都网站建设 网站建设公司 四川成都网站设计 成都网站建设 成都网站建设公司 温江网站设计 外贸营销网站建设 自适应网站建设 网站建设公司 营销网站建设 成都网站建设 成都网站建设 成都商城网站制作 成都商城网站建设 手机网站建设 成都网站建设流程 营销型网站建设 成都网站制作 网站建设费用 网站制作