观察者模式 布满荆棘的人生 2021-09-17 00:04 413阅读 0赞 ## 15.观察者模式 ## ![70][] public abstract class Blog// 订阅号抽象类 { private List<IObserver> observers = new List<IObserver>(); public string Symbol { get; set; }//描写订阅号的相关信息 public string Info { get; set; }//描写此次update的信息 public Blog(string symbol, string info) { Symbol = symbol; Info = info; } // 对同一个订阅号,新增和删除订阅者的操作 public void AddObserver(IObserver ob) { observers.Add(ob); } public void RemoveObserver(IObserver ob) { observers.Remove(ob); } public void Update() { foreach (IObserver ob in observers)// 遍历订阅者列表进行通知 { if (ob != null) { ob.Receive(this); } } } } public class MyBlog : Blog// 具体订阅号类 { public MyBlog(string symbol, string info) : base(symbol, info) { } } public interface IObserver// 订阅者接口 { void Receive(Blog tenxun); } public class Subscriber : IObserver// 具体的订阅者类 { public string Name { get; set; } public Subscriber(string name) { Name = name; } public void Receive(Blog xmfdsh) { Console.WriteLine("订阅者 {0} 观察到了{1}{2}", Name, xmfdsh.Symbol, xmfdsh.Info); } } class Program { static void Main(string[] args) { Blog xmfdsh = new MyBlog("xmfdsh", "发布了一篇新博客"); xmfdsh.AddObserver(new Subscriber("张三")); xmfdsh.AddObserver(new Subscriber("李四")); xmfdsh.AddObserver(new Subscriber("王五")); xmfdsh.AddObserver(new Subscriber("赵六")); xmfdsh.Update();//更新信息 Console.ReadLine();//输出结果,此时所有的订阅者都已经得到博客的新消息 } } ![70 1][] [70]: /images/20210725/768ac4ab52824063a786012fe91dcc4d.png [70 1]: /images/20210725/bff7a846edc54e508787ffecaead8b15.png
相关 观察者模式 什么是观察者模式 有人这么说 > 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 > > 这个主题对象在状态上发生变化时,会通知所有观 梦里梦外;/ 2022年07月20日 12:05/ 0 赞/ 239 阅读
相关 观察者模式 观察者模式:定义了对象之间的一对多的依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 观察者模式图: ![输入图片说明][13105107_Mf 旧城等待,/ 2022年06月03日 02:41/ 0 赞/ 233 阅读
相关 观察者模式 前言 观察者模式还算一个比较好玩的设计模式,其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。可以想象成消息中间件在系统中的作 墨蓝/ 2022年03月15日 06:48/ 0 赞/ 289 阅读
相关 观察者模式 类似于广播,目标对象的状态改变后,所有观察者的状态随之改变 步骤: 目标类中有一个属性是一个集合, 有一个注册方法,所有观察者使用前都要注册。 有一个 ╰半橙微兮°/ 2022年02月01日 15:43/ 0 赞/ 203 阅读
相关 观察者模式 什么是观察者模式? 简单的来说,观察者模式=出版者+订阅者。用比较书面的话来说的话是:定义了对象之间的一对多依赖,当一所对应的对象状态改变时,它的所有依赖者都会收到通知并 你的名字/ 2022年02月01日 13:53/ 0 赞/ 358 阅读
相关 观察者模式 前言 观察者模式又叫发布-订阅(Publish/Subscribe)模式 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个 本是古典 何须时尚/ 2021年12月09日 00:47/ 0 赞/ 317 阅读
相关 观察者模式 case ![18721752-ed32bda3ae538d1f.png][] image.png 非设计模式code SimpleWeatherDat 朱雀/ 2021年09月18日 07:26/ 0 赞/ 431 阅读
相关 观察者模式 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。 意图:定义对象 系统管理员/ 2021年09月17日 01:36/ 0 赞/ 442 阅读
相关 观察者模式 15.观察者模式 ![70][] public abstract class Blog// 订阅号抽象类 { priva 布满荆棘的人生/ 2021年09月17日 00:04/ 0 赞/ 414 阅读
相关 观察者模式 一 点睛 定义 又被称为发布-订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态 ﹏ヽ暗。殇╰゛Y/ 2021年07月24日 14:52/ 0 赞/ 435 阅读
还没有评论,来说两句吧...