定义观察者接口的抽象类

时间:2012-04-05 11:44:48

标签: logging observer-pattern

我正在为定义接口的抽象类读取此代码: -

class Subject;
class Observer {
public:
virtual ~ Observer();
virtual void Update(Subject* theChangedSubject) = 0;//can someone tell what this method    
does
protected:
Observer();
};

1 个答案:

答案 0 :(得分:0)

Update()函数实际上也应该是class Subject的一部分。
必须在每次状态更改时调用它。

Subject应保留所有Observers的列表,并为所有成员Update()调用Observers函数。这通常通过保存每个Observers的指针/引用并调用每个Update()实现的单个Observer功能来完成。

关于你对这个Update()函数的作用的问题,如果状态发生变化,它必须按照预期的那样做。