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

网站的页面布局是什么加盟教育培训机构

网站的页面布局是什么,加盟教育培训机构,上海模板建站平台,移动互联网开发实训报告C#设计模式#xff1a;观察者模式#xff0c;让对象间通信更优雅 在软件开发中#xff0c;我们经常会遇到一个对象的状态发生改变#xff0c;其他对象需要自动更新或做出相应反应的场景。例如#xff1a; GUI事件处理#xff1a; 当用户点击按钮时#xff0c;按钮需要…C#设计模式观察者模式让对象间通信更优雅 在软件开发中我们经常会遇到一个对象的状态发生改变其他对象需要自动更新或做出相应反应的场景。例如 GUI事件处理 当用户点击按钮时按钮需要通知所有注册的事件处理程序。股票价格更新 当股票价格发生变化时所有关注该股票的投资者都需要收到通知。气象站数据更新 当气象站收集到新的气象数据时所有显示气象数据的设备都需要更新显示。 为了实现这种对象间的通信我们可以使用观察者模式Observer Pattern它定义了一种一对多的依赖关系让多个观察者对象同时监听某一个主题对象。当主题对象的状态发生改变时所有依赖于它的观察者对象都会收到通知并自动更新。 一、观察者模式简介 观察者模式属于行为型设计模式它主要解决的是对象间的一对多依赖关系当一个对象的状态发生改变时所有依赖于它的对象都会收到通知并自动更新。 二、观察者模式的结构 观察者模式包含四个角色 Subject主题 被观察的对象它维护一个观察者列表并提供注册、删除和通知观察者的方法。Observer观察者 定义了一个更新接口用于接收主题的通知。ConcreteSubject具体主题 具体被观察的对象它维护自身状态并在状态改变时通知所有观察者。ConcreteObserver具体观察者 具体的观察者对象它实现更新接口并在收到通知时更新自身状态。 三、C# 实现示例 让我们通过一个简单的气象站示例来理解观察者模式 // 主题接口 interface ISubject {void RegisterObserver(IObserver observer);void RemoveObserver(IObserver observer);void NotifyObservers(); }// 观察者接口 interface IObserver {void Update(float temperature, float humidity, float pressure); }// 具体主题气象站 class WeatherStation : ISubject {private ListIObserver _observers new ListIObserver();private float _temperature;private float _humidity;private float _pressure;public void RegisterObserver(IObserver observer){_observers.Add(observer);}public void RemoveObserver(IObserver observer){_observers.Remove(observer);}public void NotifyObservers(){foreach (var observer in _observers){observer.Update(_temperature, _humidity, _pressure);}}public void SetMeasurements(float temperature, float humidity, float pressure){_temperature temperature;_humidity humidity;_pressure pressure;NotifyObservers();} }// 具体观察者显示当前天气状况 class CurrentConditionsDisplay : IObserver {private float _temperature;private float _humidity;public void Update(float temperature, float humidity, float pressure){_temperature temperature;_humidity humidity;Display();}public void Display(){Console.WriteLine($Current conditions: {_temperature}F degrees and {_humidity}% humidity);} }// 客户端代码 class Program {static void Main(string[] args){WeatherStation weatherStation new WeatherStation();CurrentConditionsDisplay currentDisplay new CurrentConditionsDisplay();weatherStation.RegisterObserver(currentDisplay);weatherStation.SetMeasurements(80, 65, 30.4f);weatherStation.SetMeasurements(82, 70, 29.2f);weatherStation.SetMeasurements(78, 90, 29.2f);} }四、观察者模式的优缺点 优点 松耦合 主题和观察者之间是松耦合的主题不需要知道观察者的具体类只需要知道观察者实现了更新接口。可扩展性 可以方便地增加新的观察者而不需要修改主题的代码。支持广播通信 主题可以一次通知所有观察者。 缺点 可能导致性能问题 如果观察者数量很多通知所有观察者可能会比较耗时。可能导致内存泄漏 如果观察者没有正确地从主题中注销可能会导致内存泄漏。 五、总结 观察者模式提供了一种优雅的方式来实现对象间的一对多依赖关系它在需要实现事件处理、数据更新等场景时非常有用。但是在使用观察者模式时也需要考虑其潜在的性能问题和内存泄漏问题。 希望这篇博客能帮助你更好地理解和使用观察者模式
http://www.hkea.cn/news/14448117/

相关文章:

  • 网站后台需求郑州seo网站推广
  • 宜昌本地网站哈默wordpress上传
  • seo网站优化经理左侧 导航 网站
  • 一流的网站建设推广盐城网页设计方案
  • 建设自己公司的网站如何做网站软件
  • 秦皇岛网站制作小程序开发在线排版设计
  • 辽宁沈阳做网站WordPress模板推荐国外
  • 公司网站cmswindows不能用wordpress
  • 视频解析网站如何做搜索爱装网
  • 如何搭建o2o网站产品分类 网站模板
  • 手机微信网站开发wordpress题目
  • 网站二次开发公司wordpress #
  • 网上花店网站建设规划书新余 网站建设
  • 丽水建设部门网站Wordpress文章和tag标签
  • wordpress主题破解网站网站设计模板中的页
  • 扬中零壹网站建设盐城城乡建设局网站
  • 购物网站制作实例中小企业网站建设多少钱
  • 泉州制作网站开发设计海报的软件
  • 郑州做网站汉狮河北手机网站制作哪家好
  • 重庆美邦 网站建设合肥网站设计机构
  • 淘宝上开做网站的店铺什么叫搭建平台
  • 深圳网站建设antnw以就业为导向的高职计算机专业网站设计
  • win7在局域网做网站支付宝wordpress api接口
  • wordpress 安全防范优化 网站访问速度
  • 手机微信一体网站建设wordpress增加文章404
  • 做cpc不做网站可以吗网站后台浏览器
  • 网站开发量计算山东莱州市建设局网站
  • 建网站大约得用多少钱简单的网站首页
  • 智能模板建站网站建设技术手段
  • 域名注册及网站建设百合居装饰公司