2007年7月9日星期一

Observer pattern

观察者模式 Observer Pattern


观察者模式为您提供了避免组件之间紧密耦合的另一种方法。该模式非常简单:一个对象通过添加一个方法(该方法允许另一个对象,即观察者 注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观察者使用该信息执行的操作与可观察的对象无关。结果是对象可以相互对话,而不必了解原因。



SPL 提供的 Observer 接口:
观察者:
SplObserver::update(SplSubject $subject)
观察者接口,由被观察对象调用。

主题(被观察者):
SplSubject::attach(SplObserver $observer)
参数:
$observer 要添加的观察者

SplSubject::detach(SplObserver $observer)
参数:
$observer 要删除的观察者

SplSubject::notify()
通知所有观察者.