当前位置: 首页 > news >正文

外贸建站的公司易网网站

外贸建站的公司,易网网站,wordpress同步至订阅号,外贸建站系统源码观察者模式是一种软件设计模式#xff0c;当一个对象的状态发生变化时#xff0c;其所有依赖者都会自动得到通知。 观察者模式也被称为“发布-订阅”模式#xff0c;它定义了对象之间的一对多的依赖性#xff0c;当一个对象状态改变时#xff0c;所有依赖于它的对象都会得…  观察者模式是一种软件设计模式当一个对象的状态发生变化时其所有依赖者都会自动得到通知。 观察者模式也被称为“发布-订阅”模式它定义了对象之间的一对多的依赖性当一个对象状态改变时所有依赖于它的对象都会得到通知并进行更新。观察者模式通常用于实现事件机制一个对象触发自己的一个事件也就是改变自己的状态然后通知其他的一切依赖于它的对象。 在观察者模式中主要有两种角色 主题Subject它是被观察的对象。当主题的状态发生改变时会通知所有已注册的观察者。观察者Observer它是依赖于主题的对象当接到主题的通知时会更新自己的状态。 观察者模式的主要优点是它支持动态的关联一个系统对象的行为依赖于另一个系统对象的状态。并且它是一种松耦合的设计模式一个主题不必知道其任何观察者例如观察者的具体类。 观察者模式广泛应用于各种编程语言的库和框架中例如在.NET中它被用于实现事件模型。 然而观察者模式也有一些缺点。例如如果一个主题有大量的直接和间接的观察者将会花费大量的时间来通知所有的观察者。另外如果观察者和主题之间存在循环依赖可能会导致系统行为的不确定性。 以下是一个基本的观察者模式的实现 首先我们定义一个IObserver接口和一个ISubject接口 public interface IObserver {void Update(string message); }public interface ISubject {void RegisterObserver(IObserver observer);void RemoveObserver(IObserver observer);void NotifyObservers(string message); }然后我们实现一个具体的主题Subject public class Subject : ISubject {private ListIObserver observers new ListIObserver();public void RegisterObserver(IObserver observer){observers.Add(observer);}public void RemoveObserver(IObserver observer){if (observers.Contains(observer)){observers.Remove(observer);}}public void NotifyObservers(string message){foreach (var observer in observers){observer.Update(message);}} }接下来我们实现一个具体的观察者Observer public class Observer : IObserver {private string name;public Observer(string name){this.name name;}public void Update(string message){Console.WriteLine(${name} received: {message});} }最后我们可以创建一个主题和多个观察者并将观察者注册到主题上 namespace ObserverMode {internal class Program{static void Main(string[] args){Console.WriteLine(测试C#单例模式);ISubject subject new Subject();IObserver observer1 new Observer(Observer1);IObserver observer2 new Observer(Observer2);subject.RegisterObserver(observer1);subject.RegisterObserver(observer2);subject.NotifyObservers(Hello, observers!);}} }运行结果 在这个例子中当我们调用NotifyObservers方法时注册到subject的所有观察者都会得到通知并调用它们的Update方法。
http://www.sadfv.cn/news/296671/

相关文章:

  • 绍兴高兴区建设网站word 无法注册 wordpress账号
  • 网站建站的一般步骤平面广告设计行业
  • 深圳定制网站学校网站模板大全
  • 深州市住房保障和城乡建设局网站百度网站空间
  • 数据线 东莞网站建设怎么上传文章网站
  • 网站建设的职位软文广告经典案例短的
  • 在线搭建网站施工企业安全文明施工费取费
  • 备案 新增网站宁波网站快速优化
  • 平台网站怎么做深圳房产网
  • 做婚庆网站的功能定位手机网站js电话悬浮
  • 音乐网站建设教程视频南京网站建设网站制作
  • 沈阳网站建设方法创建网页模板的作用
  • 公司做的网站如何开启伪静态mukioplayer wordpress
  • 自己建的网站如何百度搜索wordpress lofter插件
  • 做网站写概要设计查询建设工程规范的网站
  • WordPress博客整站带数据公司名字大全免费查询
  • 株洲网站建设制作建站报告2000字
  • 一起做网店的类似网站做网站入门看什么书
  • 淘宝app网站建设首页策划方案
  • 外贸做中英文网站网站列表页怎么做内链
  • 好看的网站首页图片计算机网站维护建设
  • 什么叫网站建设服务如何拥有自己的域名
  • 网站加载速度成都住建局官网查询电话
  • 网站开发的阶段国外效果做的好的网站
  • 中学网站建设书专门做视频的网站
  • 医疗网站建设哪家好女性购物平台排行榜
  • 深圳手机端网站建设专业公司搭建漏洞网站
  • 哈尔滨市延寿建设局网站软件编程
  • 网站模板 兼容通州微平台网站建设
  • 备案网站注意事项网址ip域名解析