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

网站怎么做房源seo网站推广怎么做

网站怎么做房源,seo网站推广怎么做,单页面网站带后台,关于书店网站开发实例的书观察者模式 观察者模式的优缺点 优点 当一个对象改变的时候 需要同时改变其他对象的相关动作的时候 ,而且它不知道有多少具体的对象需要改变 应该考虑使用观察者模式 。观察者模式的工作就是解除耦合 让耦合双方都依赖与抽象 而不是具体 是的各自改变都不会影响另…

观察者模式

在这里插入图片描述

观察者模式的优缺点

优点

  • 当一个对象改变的时候 需要同时改变其他对象的相关动作的时候 ,而且它不知道有多少具体的对象需要改变 应该考虑使用观察者模式 。
  • 观察者模式的工作就是解除耦合 让耦合双方都依赖与抽象 而不是具体 是的各自改变都不会影响另一边工作

缺点

  • 具体的观察类里面的update方法太单调了 现实是每个观察者的动作都可能都所不同

可以使用两种方式去解决此类问题
1:具体的观察者实现具体的 自己需要完成的任务 在继承抽象Observer后 在update内部直接调用具体的方式
2:具体的观察者将自己具体的动作也同时注册到 通知类里面 改变通知类里面的容器为map容器类 key为具体的观察者 value为具体的处理函数

代码

只实现基础部分
在这里插入图片描述

#include <iostream>  
#include <set>  
using namespace std;// 抽象观察者  
class Observer {
public:virtual void update(const string& subjectState) = 0;
};// 抽象主题  
class Subject {
public:virtual void Attach(Observer* observer) = 0;virtual void Detach(Observer* observer) = 0;virtual void Notify(const string& state) = 0;virtual string GetSubjectState() const = 0;virtual void SetSubjectState(const string& state) = 0;
};// 具体主题  
class ConcreteSubject : public Subject {
public:void Attach(Observer* observer) override {observers.insert(observer);}void Detach(Observer* observer) override {observers.erase(observer);}void Notify(const string& state) override {for (auto observer : observers) {observer->update(state);}}string GetSubjectState() const override {return subjectState;}void SetSubjectState(const string& state) override {subjectState = state;Notify(subjectState); // 当状态改变时,通知所有观察者  }private:set<Observer*> observers;string subjectState;
};// 具体观察者  
class ConcreteObserver : public Observer {
public:ConcreteObserver(const string& name, const string& initialState): name(name), observerState(initialState) {}void update(const string& subjectState) override {observerState = subjectState;cout << "观察者: " << name << " 的新状态是 " << observerState << endl;}private:string name;string observerState;
};int main() {ConcreteSubject* s = new ConcreteSubject();s->Attach(new ConcreteObserver("小明", "松懈"));s->Attach(new ConcreteObserver("蔡徐坤", "松懈"));// 改变主题状态,这将触发通知  s->SetSubjectState("警惕");return 0;
}
http://www.hkea.cn/news/225586/

相关文章:

  • 什么网站做一手项目好域名查询官网
  • 做日用品的要找什么网站好站长工具端口检测
  • 贵州软件开发 网站开发手机版百度一下
  • 企业网站建立答辩问题百度怎么发布广告
  • 温州快建网站地推拉新接单网
  • 濉溪县城乡建设委员会燃气办网站热狗网站排名优化外包
  • 网站能不能自己做免费的seo教程
  • 湖南的商城网站建设优化教程网下载
  • 做网站需要哪些工程师西安seo诊断
  • tp做的网站封装成app2023北京封控了
  • 增城做网站要多少钱推广普通话手抄报
  • 石家庄网站系统开发智能搜索引擎
  • 迅速网站网络营销平台推广方案
  • 学前端要逛那些网站微信引流主动被加软件
  • 韩国flash网站免费手机网站建站平台
  • 东莞做网站卓诚网络昆明长尾词seo怎么优化
  • WordPress个性萌化插件郑州seo优化哪家好
  • 专业手机移动网站建设免费的seo优化
  • 西安网站建设王永杰域名注册 万网
  • 网站营销优化方案北京做的好的seo公司
  • 企业网站排名提升软件优化南宁seo优化
  • 创意合肥网站建设杭州seo公司排名
  • 网站专题页是什么中国十大关键词
  • 五月天做网站网络策划与营销
  • 高校网站如何建设论文谷歌官网下载
  • 做网站内容软件个人网站怎么做
  • 收废铁的做网站有优点吗海南百度推广开户
  • wordpress 二维码插件下载信阳搜索引擎优化
  • 个人网站二级域名做淘宝客企业推广策略
  • 厦门做网站seo的seo服务公司招聘