一个观察着队列, 一个被观察着, 并且它们是依赖关系, 观察者与被观察者都定义为接口. 虽然以前都一直在用这个模式, 但是居然不知掉它的名字, 悲哀, 读点课本好呢.
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了.
---------------------------------------------------------------