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

wordpress手机版安装seo工具

wordpress手机版安装,seo工具,scorilo wordpress,网站制作程序下载目录 观察者模式步骤例子:订阅博主UML图1:定义观察者接口2:定义被观察者接口3:创建具体观察者类4:创建具体被观察者类5:使用执行结果 观察者模式 观察者模式允许我们定义一种订阅机制,可在对象…

目录

    • 观察者模式
    • 步骤
    • 例子:订阅博主
      • UML图
      • 1:定义观察者接口
      • 2:定义被观察者接口
      • 3:创建具体观察者类
      • 4:创建具体被观察者类
      • 5:使用
      • 执行结果

观察者模式

观察者模式允许我们定义一种订阅机制,可在对象事件发生时通知所有的观察者对象,使它们能够自动更新。观察者模式还有另外一个名字叫做“发布-订阅”模式。

步骤

1:定义观察者接口
2:定义被观察者接口
3:创建具体观察者类
4:创建具体被观察者类
5:使用

例子:订阅博主

UML图

Inheritance
Inheritance
Composition
1
*
Association
1
1
Blogger
- list attach_list
+void attach(Observer* ob)
+void detach(Observer* ob)
+void notify(string msg)
Observer
- string m_name
- Blogger* m_blog
+Observer(string name, Blogger* blog)
+void unsubscribe()
+void update(string msg)
Zhanyun
+void notify(string msg)
Subscriber
+Subscriber(string name, Blogger* blog)
+void update(string msg)

1:定义观察者接口

// 订阅者
class Observer {
public:Observer(string name, Blogger* blog) : m_name(name), m_blog(blog) {m_blog->attach(this);}void unsubscribe() {m_blog->detach(this);}virtual void update(string msg) = 0;virtual ~Observer() {}
protected:string m_name;Blogger* m_blog;
};

2:定义被观察者接口

// 博主
class Blogger {
public:void attach(Observer* ob) {attach_list.push_back(ob);}void detach(Observer* ob) {attach_list.remove(ob);}virtual void notify(string msg) = 0;virtual ~Blogger() {}
protected:// 订阅者列表list<Observer*> attach_list;
};

3:创建具体观察者类

class Subscriber : public Observer {
public:using Observer::Observer;void update(string msg) override {cout << m_name << " 收到博客更新: " << msg << endl;}
};

4:创建具体被观察者类

// 博主 zhanyun
class Zhanyun : public Blogger {
public:void notify(string msg) override {cout << "博主 zhanyun 更新了博客,订阅者一共有<" << attach_list.size() << ">人" << endl;for (const auto& item : attach_list) {item->update(msg);}}
};

5:使用

int main() {Zhanyun* zhanyun = new Zhanyun;Subscriber* A = new Subscriber("A", zhanyun);Subscriber* B = new Subscriber("B", zhanyun);zhanyun->notify("zhanyun 发布了一篇关于观察者模式的博客文章。");delete A;delete B;delete zhanyun;return 0;
}

执行结果

博主 zhanyun 更新了博客,订阅者一共有<2>人
A 收到博客更新: zhanyun 发布了一篇关于观察者模式的博客文章。
B 收到博客更新: zhanyun 发布了一篇关于观察者模式的博客文章。

http://www.shuangfujiaoyu.com/news/35756.html

相关文章:

  • 站酷网官网青岛百度整站优化服务
  • wordpress角色模板福州短视频seo机会
  • 丽江市建设局官方网站营销型高端网站建设
  • 汶上做网站企业网站策划
  • 政府网站集约化建设报告成品短视频软件大全下载手机版
  • 网页设计网站链接怎么做打开百度网页版
  • 网站开发大概多久百度下载app下载安装
  • 为何建设单位网站北京seo优化
  • 中山做网站优化b2b平台免费推广网站
  • 鲜花网站建设解决方案灰色关键词怎么做排名
  • 网站建设有什么作用seo分析网站
  • 怎么把自己的网站做自适应网站网络营销策划方案书
  • 装修公司的口碑排名搜索引擎优化常用方法
  • 六一儿童节网站制作网站设计与网页制作
  • 建设网站列表搜索百度
  • 舆情分析报告怎么写杭州seo排名
  • 设计公司logo大概需要多少钱宁波网站seo诊断工具
  • 找个男做那个视频网站seo搜索引擎优化是通过优化答案
  • 做的网站百度不收录近期热点新闻
  • 怎么看网站是什么语言做的后台谷歌关键词查询工具
  • 做网站需要注册商标是几类注册网站免费注册
  • 做seo需要建网站吗互联网整合营销推广
  • 郑州营销型网站建设工作室关键词排名点击工具
  • 网站开发最流行的语言相似图片在线查找
  • 企业网站建设 安全重庆网站seo推广公司
  • 以中文做域名的网站百度识别图片找图
  • 宁波做网站优化多少钱小程序开发平台有哪些
  • 企业网络营销企业网站建设章节习题网络广告营销方案策划
  • 阿里云镜像wordpress网站推广优化方案
  • 邗江区疫情最新消息seo资源是什么意思