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

大名县建设局网站网站推广明细报价表

大名县建设局网站,网站推广明细报价表,淘宝客网站建设方案书,企业营销管理制度Observer模式 观察者模式#xff08;Observer Pattern#xff09;是一种行为设计模式#xff0c;它定义了对象之间的依赖关系#xff0c;当一个对象的状态发生改变时#xff0c;所有依赖于它的对象都会得到通知并被自动更新。 观察者模式主要包含以下几个角色#xff1…Observer模式 观察者模式Observer Pattern是一种行为设计模式它定义了对象之间的依赖关系当一个对象的状态发生改变时所有依赖于它的对象都会得到通知并被自动更新。 观察者模式主要包含以下几个角色 Subject主题也被称为Observable它是被观察的对象。当它的状态发生改变时会通知所有的观察者。Observer观察者它是观察Subject的对象当Subject的状态发生改变时会收到通知。 观察者模式的主要优点是 支持简单的广播通信Subject发生改变时所有注册的Observer都会收到通知。低耦合Subject和Observer可以独立修改只要不改变他们之间的通信方式。 观察者模式适用于以下场景 当一个抽象模型有两个方面其中一个方面依赖于另一个方面。将这两者封装在独立的对象中以使它们可以各自独立地改变和复用。当对一个对象的改变需要同时改变其他对象而不知道具体有多少对象有待改变。当一个对象必须通知其他对象而它又不能假定其他对象是谁。换言之你不希望这些对象是紧密耦合的。 以下是一个简单的C实现的观察者模式Observer Pattern示例 #include iostream #include list// 前向声明 class Observer;// 主题 class Subject { public:void attach(Observer* observer) {observers_.push_back(observer);}void detach(Observer* observer) {observers_.remove(observer);}void notify();private:std::listObserver* observers_; };// 观察者 class Observer { public:Observer(Subject* subject) : subject_(subject) {subject_-attach(this);}virtual void update() 0;protected:Subject* subject_; };void Subject::notify() {for (Observer* observer : observers_) {observer-update();} }// 具体观察者A class ConcreteObserverA : public Observer { public:ConcreteObserverA(Subject* subject) : Observer(subject) {}void update() override {std::cout Concrete Observer A is updated. std::endl;} };// 具体观察者B class ConcreteObserverB : public Observer { public:ConcreteObserverB(Subject* subject) : Observer(subject) {}void update() override {std::cout Concrete Observer B is updated. std::endl;} };int main() {Subject subject;ConcreteObserverA observerA(subject);ConcreteObserverB observerB(subject);subject.notify();return 0; }在这个例子中Subject是主题它维护了一个观察者列表。当主题的状态发生改变时它会调用notify方法通知所有的观察者。 Observer是观察者它定义了一个update接口。ConcreteObserverA和ConcreteObserverB是具体的观察者它们实现了update接口。 通过这种方式我们可以实现当主题的状态发生改变时所有观察者都会得到通知并自动更新。
http://www.zqtcl.cn/news/616212/

相关文章:

  • 视频制作网站推荐js做音乐网站
  • 海北wap网站建设公司有后台网站怎么做
  • 织梦网站最新漏洞入侵外贸网站模板有什么用
  • 在跨境网站贸易公司做怎么样网站建设维护合同范本
  • 网站必须做可信认证南山网站制作
  • 如何使用mysql数据库做网站企业管理专业大学排名
  • 九江网站建设九江深圳网站建设费用大概多少
  • 万网站长工具郑州seo哪家公司最强
  • 宁波哪里可以做网站企业网站源码哪个好
  • 网站每天点击量多少好精选聊城做网站的公司
  • 网站建设课程基础兰州网站seo费用
  • 天助可以搜索别人网站曲靖网站推广
  • 易语言编程可以做网站么网站备案流程
  • 我想接加工单seo搜索引擎优化工资
  • 西宁做网站君博推荐wordpress如何管理
  • 个人建一个网站多少钱怎样优化网络速度
  • 网站建设项目进度表长春百度seo代理
  • 购物网站排名哪家好免费做房产网站
  • 手机免费建设网站制作南通网站建设排名公司哪家好
  • 做商城网站哪里买企业官网招聘
  • 网站自己做流量互联网营销培训平台
  • 如何查看网站备案官方网站建设状况
  • 做什麽网站有前景软件 开发 公司
  • 淘宝做短视频网站好建设银行代发工资网站
  • 北京建商城网站网站做指向是什么意思
  • 定制网站开发介绍图移动网站适配
  • 青海网站建设怎么建设腾云建站官网
  • 怎样自己做企业的网站gif制作软件app
  • 阿里云建站后台网站建设多少钱合适
  • 自媒体图片素材网站景区网站怎么做的