一个观察着队列, 一个被观察着, 并且它们是依赖关系, 观察者与被观察者都定义为接口. 虽然以前都一直在用这个模式, 但是居然不知掉它的名字, 悲哀, 读点课本好呢.
C++ 实现方式
class Object;
template <class OBJECT>
class Subject
{
friend class Object;
protected:
std::list<OBJECT *> m_lists;
public:
Subject(void);
~Subject(void);
void Register(Object *p);
void Remove(Object *p);
void NotifyAll(void);
void OnChanged(void);
};
class Object
{
public:
virtual void Update(Data);
};
---------------------------------------------------------------
下定决心了, 好好学习JAVA了.
---------------------------------------------------------------
C++ 实现方式
class Object;
template <class OBJECT>
class Subject
{
friend class Object;
protected:
std::list<OBJECT *> m_lists;
public:
Subject(void);
~Subject(void);
void Register(Object *p);
void Remove(Object *p);
void NotifyAll(void);
void OnChanged(void);
};
class Object
{
public:
virtual void Update(Data);
};
---------------------------------------------------------------
下定决心了, 好好学习JAVA了.
---------------------------------------------------------------

本文介绍了一种通过定义观察者与被观察者接口来实现的观察者模式,详细展示了C++中观察者模式的一种具体实现方式,并附带了一个决定深入学习Java的决定。
2274

被折叠的 条评论
为什么被折叠?



