设计模式15:观察者模式【行为型】
2012-12-19 19:54
381 查看
#include <iostream> #include <list> using namespace std; // struct IObserver { public: virtual ~IObserver() { } virtual void Update() = 0; }; class CObserver : public IObserver { public: CObserver(string name) : m_name(name) { } virtual ~CObserver() { } virtual void Update() { cout<<m_name.c_str()<<" observer update."<<endl; } private: string m_name; }; class CBlog { public: void AddObserver(IObserver *pObserver) { m_pObserverList.push_back(pObserver); } void RemoveObserver(IObserver *pObserver) { m_pObserverList.remove(pObserver); } void Notify() { list<IObserver*>::iterator ite = m_pObserverList.begin(); for(; m_pObserverList.end() != ite; ite++) { (*ite)->Update(); } } private: list<IObserver*> m_pObserverList; }; // void main() { CBlog blog; CObserver observerA("AAA"); CObserver observerB("BBB"); blog.AddObserver(&observerA); blog.AddObserver(&observerB); blog.Notify(); }
相关文章推荐
- Java设计模式(15)行为型:观察者模式
- 23种设计模式4--行为型模式(策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式)
- 设计模式C++实现(15)——观察者模式
- 设计模式----行为型模式之观察者模式(Observer Pattern)
- 设计模式学习总结(15) 观察者模式
- 设计模式—行为型-Observer(观察者)
- 行为型设计模式-观察者模式
- 23中设计模式-行为型1-观察者模式
- 设计模式-行为型之观察者模式
- 设计模式(15)-行为型模式-INTERPRETER模式
- Java与设计模式(二十五)行为型--观察者模式
- Java设计模式_行为型_观察者模式_任意行为的监听
- 设计模式C++实现(15)——观察者模式
- 设计模式笔记(19)---观察者模式(行为型)
- 设计模式(行为型模式) -----观察者模式
- 设计模式(十三)观察者模式(行为型)
- 设计模式 ( 十六 ) 观察者模式Observer(对象行为型)
- 设计模式C++实现(15)——观察者模
- 面向对象程序设计(OOP设计模式)-行为型模式之观察者模式的应用与实现
- GoF23种设计模式之行为型模式之观察者模式