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

网站版式百度网站大全

网站版式,百度网站大全,多人在线协作网站开发,资源最多的磁力搜索引擎定义#xff1a; 又被称为发布-订阅#xff08;Publish/Subscribe#xff09;模式#xff0c;它定义了一种一对多的依赖关系#xff0c;让多个观察者 对象同时监听某一个主题对象。这个主题对象在状态变化时#xff0c;会通知所有的观察者对象#xff0c;使他们能够自 …定义 又被称为发布-订阅Publish/Subscribe模式它定义了一种一对多的依赖关系让多个观察者 对象同时监听某一个主题对象。这个主题对象在状态变化时会通知所有的观察者对象使他们能够自 动更新自己。 在观察者模式中有如下角色 Subject抽象主题抽象被观察者抽象主题角色把所有观察者对象保存在一个集合里每 个主题都可以有任意数量的观察者抽象主题提供一个接口可以增加和删除观察者对象。ConcreteSubject具体主题具体被观察者该角色将有关状态存入具体观察者对象在具 体主题的内部状态发生改变时给所有注册过的观察者发送通知。Observer抽象观察者是观察者的抽象类它定义了一个更新接口使得在得到主题更改通知 时更新自己。ConcrereObserver具体观察者实现抽象观察者定义的更新接口以便在得到主题更改通知 时更新自身的状态。 案例 这里案例使用一个委托进行多播来进行对热水器的观察 加热器类 首先定义一个全局变量温度temperature然后使用event声明一个事件委托名称使用无返回值的Action参数为int。然后写一个for循环模拟烧水温度temperature大于95时执行事件。 public class HeaterSubject {private int _temperature;public event Actionint OnBoilEvent;public void BoilWater(){for (int i 0; i 100; i){_temperature;if (_temperature 95){OnBoilEvent.Invoke(_temperature);//触发事件发出警报显示水温}}} } 监视者 热水器上一般都有显示屏和警报器这里模拟两个观察者分别是显示器和警报器 因为上面声明的委托参数是int这里的观察者参数也要匹配等一下才可以通过多播的形式插入 public class DisPlayObserver {/// summary/// 显示水温/// /summary/// param nametemperature/parampublic void Display(int temperature){Console.WriteLine($显示屏-当前温度是:{temperature});} } public class AlertObserver {/// summary/// 发出警报/// /summary/// param nametemperature/parampublic void MakeAlert(int temperature){Console.WriteLine($语音报警器-温度是{temperature});} } main方法 在main方法中实现new一个热水器的实例然后使用多播将多个方法绑定到一个委托实例。当调用此类委托时所有绑定的方法会被一次全部调用最后调用热水器的烧水方法 public static void Main(string[] args){HeaterSubject subject new HeaterSubject();//订阅发出警报subject.OnBoilEvent new AlertObserver().MakeAlert;//订阅显示水温subject.OnBoilEvent new DisPlayObserver().Display;subject.BoilWater();} 多播的优缺点 优点 降低了目标与观察者之间的耦合关系两者之间是抽象耦合关系。 被观察者发送通知所有注册的观察者都会收到信息【可以实现广播机制】缺点 如果观察者非常多的话那么所有的观察者收到被观察者发送的通知会耗时 如果被观察者有循环依赖的话那么被观察者发送通知会使观察者循环调用会导致系统崩溃 使用场景 对象间存在一对多关系一个对象的状态发生改变会影响其他对象。当一个抽象模型有两个方面其中一个方面依赖于另一方面时。
http://www.dnsts.com.cn/news/211600.html

相关文章:

  • 购物网站服务器价格网站布局设计理由
  • 温江区规划建设局网站WordPress修改笔记
  • 成都网站排名生客seo如何建立自己的公司
  • 外链收录网站建设工程施工合同实例
  • 人防网站建设与服务免费网站源码下载器
  • 网站首页制作方案上海企业登记在线
  • 网页模板下载网站10为什么做网站更新
  • 服务好的企业做网站大丰做网站建设的公司
  • 有做销售产品的网站北京网站排名公司
  • 一个新品牌怎样营销推广深圳优化百度
  • 做网站很烧钱杭州市建设厅网站
  • 做网站的是什么职业免费的黄冈网站有哪些平台可以聊天呢
  • 深圳企业网站定制公司storyset自定义插画网站
  • 济南品牌网站制作方案app排名
  • ai网站推荐免费图纸网
  • 培训学校类网站建设方案网站设计包括什么软件
  • win7iis配置网站怎样申请做c c 网站
  • 做英文版网站内蒙古建设厅官方网站
  • 音乐网站建设视频教程东莞网站建设套餐
  • 做网站服务器权限设置网站优化套餐
  • 长春网站建设方案推广工作总结2023最新完整版
  • 建设部网站业绩补录自助小站
  • 外贸网站违反谷歌规则网站备案成功
  • 做视频在哪个网站找素材建设保障房网站首页
  • 免费流程图网站南京市溧水建设局网站
  • 有flash的网站备案网站名怎么写
  • 智能建站是什么比较好的企业建站平台
  • 公司做网站一般用什么域名安康建设网站
  • 网站在线wordpress固定连接设置404
  • 一般一个网站从建设到运营要多久域名中的wordpress删除