PHP设计模式-观察者模式
2013-01-31 17:58
651 查看
观察者模式(Observer Pattern)
观察者模式属于行为模式,是定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。它完美的将观察者对象和被观察者对象分离。可以在独立的对象(主体)中维护一个对主体感兴趣的依赖项(观察器)列表。让所有观察器各自实现公共的 Observer 接口,以取消主体和依赖性对象之间的直接依赖关系。
观察者模式的优缺点:
优点:
1. 支持松耦合,减少依赖性
2. 观察器可观察
缺点:
1. 性能降低
2. 内存泄漏
3. 隐藏的依赖项
4. 测试/调试困难
观察者模式属于行为模式,是定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。它完美的将观察者对象和被观察者对象分离。可以在独立的对象(主体)中维护一个对主体感兴趣的依赖项(观察器)列表。让所有观察器各自实现公共的 Observer 接口,以取消主体和依赖性对象之间的直接依赖关系。
<?php interface IObserver { function onChanged($sender, $args); } interface IObservable { function addObserver($observer); } class UserList implements IObservable { private $_observers = array (); public function addCustomer($name) { foreach ( $this->_observers as $obs ) $obs->onChanged ( $this, $name ); } public function addObserver($observer) { $this->_observers [] = $observer; } } class UserListLogger implements IObserver { public function onChanged($sender, $args) { echo ("'$args' added to user list\n"); } } $ul = new UserList (); $ul->addObserver ( new UserListLogger () ); $ul->addCustomer ( "Jack" ); ?>
观察者模式的优缺点:
优点:
1. 支持松耦合,减少依赖性
2. 观察器可观察
缺点:
1. 性能降低
2. 内存泄漏
3. 隐藏的依赖项
4. 测试/调试困难
相关文章推荐
- PHP设计模式-观察者模式(订阅者模式)
- PHP 设计模式之观察者模式
- 学习php设计模式 php实现观察者模式(Observer)
- php实现设计模式之 观察者模式
- php设计模式之观察者模式
- PHP设计模式之-----观察者模式
- php设计模式之观察者模式的应用详解
- PHP设计模式-观察者
- PHP设计模式实例之(观察者模式、策略模式、简单工厂模式)
- PHP设计模式之观察者模式
- php设计模式之观察者模式
- [php]php设计模式 Observer(观察者模式)
- PHP设计模式之观察者模式
- PHP设计模式之观察者模式(Observer)详细介绍和代码实例
- php设计模式-观察者模式
- PHP设计模式——观察者模式
- PHP设计模式之观察者模式(Observer)详细介绍和代码实例
- php设计模式之———观察者模式
- php设计模式-观察者模式
- php设计模式之观察者模式的应用详解