C# 设计模式之 观察者模式

来源:互联网 发布:div中调用js函数 编辑:程序博客网 时间:2024/06/03 20:54

报社更新报纸内容,读者获取更新


using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace DesignPytternDemo{    /// <summary>    /// 利用事件实现观察者    /// </summary>    /// <param name="sender"></param>    public delegate void UpdatePaper(object sender);    /// <summary>    /// 报社    /// </summary>    public class Paper    {        public event UpdatePaper OnChange;        /// <summary>        /// 更新报纸了        /// </summary>        public void ChangeData()        {            if (null != OnChange)            {                OnChange.Invoke("new data");            }        }    }    /// <summary>    /// 读者    /// </summary>    public class Reader    {        public void ReadNews(object news)        {            Console.Write(news.ToString());        }    }}Paper p = new Paper();            Reader reader1 = new Reader();            Reader reader2 = new Reader();            p.OnChange += reader1.ReadNews;            p.OnChange += reader2.ReadNews;            p.ChangeData();            Console.ReadLine();


原创粉丝点击