简述观察者模式
分类:PHP, 发布于 2018-04-27 05:37:15 浏览(717)
观察者模式是对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
DEMO:
/** * Class EventGenerator */ abstract class EventGenerator { private $ObServers = []; //增加观察者 public function add(ObServer $ObServer) { $this->ObServers[] = $ObServer; } //事件通知 public function notify() { foreach ($this->ObServers as $ObServer) { $ObServer->update(); } } } interface ObServer { public function update($event_info = null); } class ObServer1 implements ObServer { public function update($event_info=null) { echo "ObServer1"; } } class ObServer2 implements ObServer { public function update($event_info=null) { echo "ObServer2"; } } class Event extends EventGenerator { public function trigger() { $this->notify(); } } $event = new Event(); $event->add(new ObServer1()); $event->add(new ObServer2()); $event->trigger();