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

微信版本的wordpressseo学校培训课程

微信版本的wordpress,seo学校培训课程,页游网站,打开网站搜索定义 定义对象间的一种一对多(变化)的依赖关系#xff0c;以便当一个对象(Subject)的状态发生改变时#xff0c;所有依赖于它的对象都得到通知并自动更新。 ——《设计模式》GoF 使用场景 一个对象#xff08;目标对象#xff09;的状态发生改变#xff0c;所有的依赖对…定义 定义对象间的一种一对多(变化)的依赖关系以便当一个对象(Subject)的状态发生改变时所有依赖于它的对象都得到通知并自动更新。 ——《设计模式》GoF 使用场景 一个对象目标对象的状态发生改变所有的依赖对象观察者对象都将得到通知进行广播通知。 结构 代码示例 //Observer.h /****************************************************/ #ifndef OBSERVER_H #define OBSERVER_H #includeiostream #includelist using namespace std;class Observer { public://构造Observer(){ }//析构virtual ~Observer(){ }//更新virtual void updata(){ } };class Server { private://观察者链表listObserver* m_Observer;protected://服务器状态string m_Status;public://构造函数Server(){ }//析构函数virtual ~Server(){ }//添加观察者void Attach(Observer* observer) {this-m_Observer.push_back(observer);}//移除观察者void Remove(Observer* observer) {this-m_Observer.remove(observer);}//设置服务器状态virtual void SetStatus(string s){ }//获取服务器状态virtual string GetStatus() {return this-m_Status;}//通知观察者void Notify() {for (listObserver*::iterator iter this-m_Observer.begin();iter ! m_Observer.end(); iter) {(*iter)-updata();}} };//具体服务器 class Concrete_Server : public Server { private://用户名称string m_Name; public://构造Concrete_Server(string name) {this-m_Name name;}//析构~Concrete_Server(){ }//设置服务器状态virtual void SetStatus(string s) { this-m_Status (this-m_Name)s;}//获取服务器状态virtual string GetStatus() {return this-m_Status;} };//具体观察者 class Concrete_Observer : public Observer { private://观察者名称string m_Name;//需要观察的服务器Server* m_Server; public://构造Concrete_Observer(string name, Server* server) {this-m_Name name;this-m_Server server;}//析构~Concrete_Observer(){ }//更新virtual void updata() {cout this-m_Name : this-m_Server-GetStatus() endl;} };#endif //test.cpp /****************************************************/ #include iostream #include string #include Observer.hint main() {Server* server1 new Concrete_Server(服务器1);Observer* observer1 new Concrete_Observer(观察者1, server1);Observer* observer2 new Concrete_Observer(观察者2, server1);server1-Attach(observer1);server1-Attach(observer2);server1-SetStatus(2.1.0.001更新系统);server1-Notify();delete server1;server1 NULL;delete observer1;observer1 NULL;return 0; }运行结果 要点总结 使用面向对象的抽象Observer模式使得我们可以独立地改变目标与观察者从而使二者之间的依赖关系达致松耦合。目标发送通知时,无需指定观察者通知(可以携带通知信息作为参数)会自动传播。观察者自己决定是否需要订阅通知目标对象对此一无所知。Observer模式是基于事件的UI框架中非常常用的设计模式也是MVC模式的一个重要组成部分。
http://www.dnsts.com.cn/news/244463.html

相关文章:

  • .net建网站的优势津做网站
  • 谷歌推广网站怎么做包装材料东莞网站建设
  • 做网站几个步骤织梦如何做二级网站
  • 江西省建设网站公司3322免费域名注册
  • 重庆网站建设 制作 设计 优惠价房地产最新消息政策代表了什么
  • 17年哪个网站做h5最好阿里云里面网站建设
  • 广东省建设信息港网站2022加盟项目排行榜
  • 营销型网站建设_做网站网络规划设计师改版时间
  • 网站 云建站更改wordpress链接
  • 手机网站管理工具网站加载模式
  • 企业网站可以做淘宝客吗加盟型网站
  • 帝国cms如何做网站地图关于网站建设的专家研讨会
  • 长沙网站排名方案外包网站价格
  • 滴滴出行网站建设杭州seo排名费用
  • 免费网站生成湖南网站seo优化
  • 商城网站的开发怎么做的一家只做外卖的网站
  • 不同的网站 做301wordpress 云落主题
  • 哪里注册域名最便宜简述搜索引擎优化
  • 中国服务器在外国网站有哪些网上下载的文件打开是乱码怎么办
  • php管理系统 网站模版ios系统软件开发
  • 网站制作样板外链优化
  • 可以制作网站的软件免费网站建站方法
  • 酷炫的网站欢迎页面wordpress 主要
  • iis如何发布asp.net网站网站建设主机耗电量
  • 济南网站制作建设html简单网页设计作品
  • 网站备案ip查询网站中卫展览展厅设计公司
  • 网站用什么好舆情服务公司
  • 大型网站制作丹阳网站建设孟村做网站价格
  • 化妆品营销型网站模板茶酒行业网站建设
  • 优化方案化学百度首页排名优化价格