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

电商平台网站seo是什么的简称

电商平台网站,seo是什么的简称,微信平台免费小程序制作,wordpress工具条概念 观察者模式是设计模式的行为模式,是定义一种阅读机制。它的核心思想是定义对象间的一对多的依赖关系,当有一个对象发生改变之后通知多个观察对象。 观察者模式通过将观察者和被观察者解耦,使得观察者可以动态地订阅或取消订阅被观察者…

概念

观察者模式是设计模式的行为模式,是定义一种阅读机制。它的核心思想是定义对象间的一对多的依赖关系,当有一个对象发生改变之后通知多个观察对象。

观察者模式通过将观察者和被观察者解耦,使得观察者可以动态地订阅或取消订阅被观察者的状态变化。当被观察者的状态发生变化时,它会通知所有注册的观察者。

适用场景

1、当一个对象的状态发生给变之后,其他对象也需要跟着改变,或者说实际对象是未知状态或需要动态变化的时候需要使用到此模式。

2、当应用中的一些对象必须观察其他对象时,可以使用此模式。

创建方式

1、创建一个发送者(主题)的对象接口,实现和一个数据结构,数据结构用于保观察者的引用。

2、创建一个观察者接口,需要声明一个通知函数。

3、创建实际的发送者类,实现通知函数(此函数需要通知所有的观察者),订阅者添加、移除函数等。具体的订阅者通过添加函数和移除函数进行管理。

4、创建实际的观察者类,需要实现继承观察者接口。并且实现通知更新的方法。

5、客户端必须生成所需要的全部订阅者,并在相应的发布者哪里完成添加动作。

类关系图

在这里插入图片描述

示例代码

#include "GuanChaZheMoShi.h"int main()
{std::cout << "欢迎东哥来到设计模式的世界!\n";//创建观察者对象ObserverBase* observer = new Observer("观察者1");ObserverBase* observer1 = new Observer("观察者2");ObserverBase* observer2 = new Observer("观察者3");ObserverBase* observer3 = new Observer("观察者4");//将观察者添加到发送者对象中Sender* sender = new Sender();sender->addObserver(observer);sender->addObserver(observer1);sender->addObserver(observer2);sender->addObserver(observer3);sender->notifyCmd("帝王令:众将集合");//删除观察者2 和观察者3sender->delObserver(observer1);sender->delObserver(observer2);sender->notifyCmd("帝王令密令:造反")
}
#pragma once
#include "string"
#include "iostream"
#include "vector"using namespace std;
//观察者接口类
class ObserverBase
{
public:ObserverBase() {}~ObserverBase() {}virtual void notify(string notify) {}
};//具体观察者接口类
class Observer : public ObserverBase {
public:Observer(string name) {m_name = name;}~Observer() {}void notify(string notify) {cout << m_name << ":" << notify << endl;}string getName() { return m_name; }
private:string m_name;
};//发送者接口类
class SenderBace {
public:SenderBace() {}~SenderBace() {}virtual void addObserver(ObserverBase* observer) {}virtual void delObserver(string name) {}virtual void notifyCmd(string cmd) {}
};//具体发送者
class Sender : public SenderBace {
public:Sender() {}~Sender() {}void addObserver(ObserverBase* observer) {m_vObserver.push_back(observer);}void delObserver(ObserverBase* observer) {m_vObserver.erase(std::remove(m_vObserver.begin(), m_vObserver.end(), observer),m_vObserver.end());}void notifyCmd(string cmd) {for (int i = 0; i < m_vObserver.size(); ++i) {m_vObserver[i]->notify(cmd);}}
private:vector<ObserverBase*> m_vObserver;
};
欢迎东哥来到设计模式的世界!
观察者1:帝王令:众将集合
观察者2:帝王令:众将集合
观察者3:帝王令:众将集合
观察者4:帝王令:众将集合
观察者1:帝王令密令:造反
观察者4:帝王令密令:造反
http://www.dtcms.com/wzjs/519755.html

相关文章:

  • 有找猎聘网站做简历优化的企业网站网页设计
  • 网站维护怎么做百度首页排名优化多少钱
  • 阿里云怎么做静态网站济南seo整站优化价格
  • 百度不抓取网站网址信息查询
  • 设计建筑办公室长春最专业的seo公司
  • 永州网站建设新平台推广赚钱
  • 网站建设流量是怎么回事电脑版百度网盘
  • 浙江建设技师学院网站站长工具怎么关掉
  • 深圳专门做网站的公司有哪些seo排名优化表格工具
  • 网站开发交互原型标注图seo整站优化外包
  • flash网站制作工具广东疫情最新消息今天又封了
  • 怎么用ftp备份网站阿里巴巴指数查询
  • 建设工程网站新专家入库如何创建一个平台
  • 青岛集团网站建设怎么推广销售
  • 哪里做网站排名网站开发的公司
  • 在线免费logo设计网站培训学校网站
  • 做思维导图的资源网站电子商务培训
  • 上海网站建设设计网址大全名称
  • app制作网站有哪些 请列举aso网站
  • cargo创建个人网站快速收录网
  • 网络建设费计入哪个科目青岛seo全网营销
  • 做视频用的网站新闻发布的网站
  • 山东东营市广饶县沈阳专业网站seo推广
  • 如何做网站推广自己的产品企业网站推广的一般策略
  • 宜昌网站推广优化技巧seo网站优化推广
  • 句容网站定制关键词优化seo
  • 企业网站备案信息正规电商培训班
  • 上海史特网站建设微信推广加人
  • wordpress 笑话主题班级优化大师下载安装
  • 淘宝网站页面设计2021小说排行榜百度风云榜