博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式 之 《观察者模式 (Observer)》
阅读量:5908 次
发布时间:2019-06-19

本文共 1062 字,大约阅读时间需要 3 分钟。

 

 

 

#ifndef __OBSERVER_MODEL__#define __OBSERVER_MODEL__#include 
#include
#include
using namespace std;/*GOOD:定义了一种一对多的关系,让多个观察对象(公司员工)同时监听一个主题对象(秘书), 主题对象状态发生变化时,会通知所有的观察者,使它们能够更新自己。*/class Secretary;//看股票的同事类(观察对象,观察者)class StockObserver{private: string name; Secretary* sub;public: StockObserver(string strName, Secretary* strSub) { name = strName; sub = strSub; } void update();};//秘书类(主题对象,通知者)class Secretary{private: vector
observers;public: string action; void add(StockObserver ob){ observers.push_back(ob); } void notify() { vector
::iterator iter = observers.begin(); while( iter != observers.end() ) { (*iter).update(); ++iter; } }};void StockObserver::update(){ cout<
<<":"<
action<<",不要玩股票了,要开始工作了!"<
add(*s1); p->add(*s2); //事件 p->action="老板来了"; //通知 p->notify(); return 0;}*/

 

 

转载于:https://www.cnblogs.com/MrGreen/p/3417091.html

你可能感兴趣的文章
POJ2406 Power Strings(KMP)
查看>>
极值问题(acms)
查看>>
SVN Hooks的介绍及使用
查看>>
JAVA核心编程教学
查看>>
apache 限制指定user_agent
查看>>
[转]Apache重写中的flag说明
查看>>
20171011
查看>>
soap 的应用
查看>>
APP的广告模式
查看>>
STM32F4相关
查看>>
margin:0 auto 与 text-align:center 的区别(转载)
查看>>
判断一个字符是否为数字的两种方法(C/C++)
查看>>
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleExcept问题解决方案
查看>>
600. Non-negative Integers without Consecutive Ones
查看>>
关于正则表达式的入门心得
查看>>
axios 拦截 , 页面跳转, token 验证(自己摸索了一天搞出来的)
查看>>
链接自动化测试工具xenu
查看>>
三星i917官方wp7.8刷机、越狱、防锁全过程
查看>>
区块链初始化与实现POW工作量证明
查看>>
对《微营销》与《大数据营销》的读后思考
查看>>