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

展览搭建设计网站五家渠网站建设

展览搭建设计网站,五家渠网站建设,已经有域名 怎么做网站,wordpress图片弹窗在 Python 中实现观察者模式可以遵循以下具体步骤#xff0c;这些步骤清晰地划分了角色和交互流程#xff1a; 步骤 1#xff1a;定义主题#xff08;Subject#xff09;基类 主题是被观察的对象#xff0c;负责管理观察者和发送通知。需实现以下核心方法#xff1a; 存…在 Python 中实现观察者模式可以遵循以下具体步骤这些步骤清晰地划分了角色和交互流程 步骤 1定义主题Subject基类 主题是被观察的对象负责管理观察者和发送通知。需实现以下核心方法 存储观察者的容器如列表添加观察者的方法attach移除观察者的方法detach通知所有观察者的方法notify class Subject:def __init__(self):self._observers [] # 保存所有注册的观察者def attach(self, observer):添加观察者到列表if observer not in self._observers:self._observers.append(observer)def detach(self, observer):从列表中移除观察者try:self._observers.remove(observer)except ValueError:pass # 忽略未找到的观察者def notify(self, *args, **kwargs):通知所有观察者状态变化for observer in self._observers:observer.update(*args, **kwargs) # 调用观察者的更新方法步骤 2实现具体主题ConcreteSubject 具体主题是实际业务对象维护自身状态当状态变化时触发通知。 class WeatherStation(Subject): # 继承主题基类def __init__(self):super().__init__()self._temperature None # 示例温度状态propertydef temperature(self):return self._temperaturetemperature.setterdef temperature(self, new_temp):self._temperature new_temp # 更新状态self.notify(new_temp) # 状态变化时通知观察者步骤 3定义观察者Observer基类/接口 观察者是接收通知的对象需定义一个更新方法update供主题调用。 class Observer:def update(self, *args, **kwargs):接收主题通知的方法子类必须实现raise NotImplementedError(子类必须重写 update 方法)步骤 4实现具体观察者ConcreteObserver 具体观察者根据自身需求实现update方法处理主题发送的通知。 class PhoneDisplay(Observer): # 手机显示屏观察者def update(self, temp):print(f手机显示当前温度 {temp}°C)class WindowDisplay(Observer): # 窗口显示屏观察者def update(self, temp):print(f窗口显示温度更新为 {temp}°C)步骤 5使用观察者模式 创建主题和观察者实例关联它们并触发状态变化验证效果。 # 1. 创建主题被观察者 weather_station WeatherStation()# 2. 创建观察者 phone_display PhoneDisplay() window_display WindowDisplay()# 3. 注册观察者到主题 weather_station.attach(phone_display) weather_station.attach(window_display)# 4. 改变主题状态自动通知观察者 print(--- 温度变为 25°C ---) weather_station.temperature 25print(\n--- 温度变为 30°C ---) weather_station.temperature 30# 5. 移除一个观察者 weather_station.detach(phone_display) print(\n--- 移除手机显示后温度变为 28°C ---) weather_station.temperature 28执行结果 --- 温度变为 25°C --- 手机显示当前温度 25°C 窗口显示温度更新为 25°C--- 温度变为 30°C --- 手机显示当前温度 30°C 窗口显示温度更新为 30°C--- 移除手机显示后温度变为 28°C --- 窗口显示温度更新为 28°C核心逻辑总结 主题与观察者解耦主题只需知道观察者有update方法无需了解其具体实现观察者也无需知道主题的内部逻辑。动态关联通过attach和detach可以随时添加/移除观察者灵活性高。自动通知主题状态变化时主动调用所有注册观察者的update方法实现一处变化多处响应。 这种模式适用于事件监听、状态同步、发布-订阅系统等场景例如 GUI 中的按钮点击事件、数据更新通知等。
http://www.pierceye.com/news/216746/

相关文章:

  • 35网站建设博客移动端网站模板
  • 卡盟网站建设公司品牌策划ppt
  • 自己如何做网站教程广州建网站有哪些
  • 网站建设 市场规模加强财政门户网站建设工作
  • wordpress 搭建多站点电子商务网站
  • 免费制作网页的网站万网租空间 网站
  • 上海 网站 备案ios开发网站app
  • 网站建设,h5,小程序众安保险
  • 大连网站建设资讯网站seo如何优化
  • 手表网站建设策划西地那非片怎么服用最佳
  • 常德网站设计英文版网站怎么做
  • 权威网站建设网站的工具
  • php手机网站模板厦门网站设计建设
  • 焦作集团网站建设做食品网站需要什么资质
  • 西北电力建设甘肃工程公司网站90设计电商模板
  • 内蒙古网站设计推广网站注册赚佣金
  • 医药类网站建设评价wordpress微信支付模板
  • 如何查看网站空间商手机服务器下载安装
  • 北京响应式网站建设报价英文版网站案例
  • 做爰全过程免费的视频99网站做h5单页的网站
  • 怎么才能百度做网站海外直播
  • 响应式企业网站开发所用的平台酷炫网站首页
  • 西安网站建设全包大发 wordpress
  • html5 网站开发定制做公司网站好处
  • 建站网站教程网站建设工程师职责说明书
  • 新云网站模版宠物网站开发
  • 网站建设面授班网站备案回访电话号码
  • 阿里有做网站网站建设费是宣传费用吗
  • 点广告挣钱网站有哪些网站的建设与预算
  • 佛山新网站建设详细内容手机软件公司