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

南宁模板开发建站wordpress图片放七牛云

南宁模板开发建站,wordpress图片放七牛云,网站如何做会员登录页面,网站建设定制价格明细表文章目录 行为型模式#xff1a;观察者模式 行为型模式#xff1a;观察者模式 观察者模式定义了一种一对多的依赖关系#xff1a;它让一个主题#xff08;被观察者#xff09;对象关联多个观察者对象#xff0c;并且当主题对象的状态发生变化时#xff0c;它会主动通知… 文章目录 行为型模式观察者模式 行为型模式观察者模式 观察者模式定义了一种一对多的依赖关系它让一个主题被观察者对象关联多个观察者对象并且当主题对象的状态发生变化时它会主动通知这些观察者对象使它们能够自动更新自己或执行相应的响应操作。 以一个设备的温度显示系统为例在这个示例中温度检测仪是被观察者当设备温度发生变化时它会通知所有的显示器更新温度信息。 #include iostream #include vector #include string #include algorithm // 观察者接口 class IObserver { public:virtual void update(float temperature) 0;virtual ~IObserver() {} };// 主题接口Subject class ISubject { public:virtual void registerObserver(IObserver* observer) 0;virtual void removeObserver(IObserver* observer) 0;virtual void notifyObservers() 0;virtual ~ISubject() {} };// 被观察者类设备温度检测仪 class DeviceTemperatureMonitor : public ISubject { private:std::vectorIObserver* observers;float temperature;public:// 注册观察者void registerObserver(IObserver* observer) override {observers.push_back(observer);}// 移除观察者void removeObserver(IObserver* observer) override {// std::remove将所有与指定值observer相等的元素移动到容器的末尾并返回指向第一个不需要保留的元素的迭代器observers.erase(std::remove(observers.begin(), observers.end(), observer), observers.end());}// 通知所有观察者void notifyObservers() override {for (IObserver* observer : observers) {observer-update(temperature);}}// 设置温度状态并通知所有观察者void setTemperature(float temp) {temperature temp;notifyObservers();} };// 观察者类手机显示器 class PhoneDisplay : public IObserver { private:std::string deviceName;public:PhoneDisplay(const std::string name) : deviceName(name) {}void update(float temperature) override {std::cout Phone Display ( deviceName ) - Device Temperature: temperature °C\n;} };// 观察者类窗口显示器 class WindowDisplay : public IObserver { private:std::string location;public:WindowDisplay(const std::string loc) : location(loc) {}void update(float temperature) override {std::cout Window Display at location - Device Temperature: temperature °C\n;} };int main() {// 创建被观察者对象设备温度检测仪DeviceTemperatureMonitor tempMonitor;// 创建观察者对象显示设备PhoneDisplay phoneDisplay1(iPhone);PhoneDisplay phoneDisplay2(Samsung);WindowDisplay windowDisplay(Office);// 注册观察者tempMonitor.registerObserver(phoneDisplay1);tempMonitor.registerObserver(phoneDisplay2);tempMonitor.registerObserver(windowDisplay);// 模拟温度数据更新std::cout Temperature Update 1:\n;tempMonitor.setTemperature(75.0f);std::cout \nTemperature Update 2:\n;tempMonitor.setTemperature(80.0f);// 移除一个观察者tempMonitor.removeObserver(phoneDisplay2);std::cout \nTemperature Update 3 (After removing Samsung Phone Display):\n;tempMonitor.setTemperature(85.0f);return 0; } Temperature Update 1: Phone Display (iPhone) - Device Temperature: 75°C Phone Display (Samsung) - Device Temperature: 75°C Window Display at Office - Device Temperature: 75°CTemperature Update 2: Phone Display (iPhone) - Device Temperature: 80°C Phone Display (Samsung) - Device Temperature: 80°C Window Display at Office - Device Temperature: 80°CTemperature Update 3 (After removing Samsung Phone Display): Phone Display (iPhone) - Device Temperature: 85°C Window Display at Office - Device Temperature: 85°C
http://www.hkea.cn/news/14434626/

相关文章:

  • seo网络营销是什么意思深圳seo优化排名公司
  • 波哥昆明网站建设福建省建设厅网站 登录
  • 水利建设与管理司网站wordpress自动水印
  • 中建国际建设公司网站公司用什么邮箱好
  • 在自己网站做支付可以吗微信做单页的网站
  • 广州网站建设推荐乐云seo桂林餐饮兼职网站建设
  • 网站首屏高度重庆装修网
  • 做智能网站系统网站升级页面连接设置
  • 可以在手机建网站的网络推广内容策划
  • wordpress主机xampp邯郸seo快速排名
  • 网站结构怎么做适合优化礼品网站模板
  • 长春哪家做网站做的好论坛申请网站备案前置审批
  • 用户体验 网站网站内容建设项目预算
  • 白云区网站建设公南昌互联网公司排名
  • 网站收录很慢网站建设客户问到的问题
  • 360地图怎么添加地址网站诊断分析报告模板及优化执行方案.doc
  • asp公司网站源码网站cname解析
  • 如何在网站上做免费广告沧浪企业建设网站价格
  • 网站开发人员职位晋升空间成都高薪seo
  • 网站怎么做dns解析高端大气公司名称
  • 电子商务网站会员体系配置外网访问WordPress
  • 968深圳网站建设公司网站建设最重要的是什么
  • 工作室建设方案怎么写网站优化个人工作室
  • 设计网站会员哪个好用镇江微淘软件开发
  • 很色h做游戏网站海南省住房公积金管理局招聘
  • 网站模板的修改网站优化能发外链的gvm网站大全
  • 未来网站开发需求多wordpress修改登录图标
  • 大庆哈尔滨网站建设机关门花网站建设
  • 用python做网站的多吗体验式营销案例
  • 秦皇岛网站开发公司电话了解什么是网络营销