Observer(观察者模式)
Posted 洞拐洞幺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Observer(观察者模式)相关的知识,希望对你有一定的参考价值。
某个对象可以被设置为是可观察的,只要通过某种方式允许其他对象注册为观察者。每当被观察的对象改变时,会发送信息给观察者。
<?php interface Observer { function onChanged($sender, $args); } interface Observable { function addObserver($observer); } class CustomerList implements Observable { private $_observers = array(); public function addCustomer($name) { foreach($this->_observers as $obs) $obs->onChanged($this, $name); } public function addObserver($observer) { $this->_observers []= $observer; } } class CustomerListLogger implements Observer { public function onChanged($sender, $args) { echo( "‘$args‘ Customer has been added to the list \n" ); } } $ul = new UserList(); $ul->addObserver( new CustomerListLogger() ); $ul->addCustomer( "Jack" );
以上是关于Observer(观察者模式)的主要内容,如果未能解决你的问题,请参考以下文章
[Android&Java]浅谈设计模式-代码篇:观察者模式Observer
JDK自带的Observable和Observer实现观察者模式