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(观察者模式)的主要内容,如果未能解决你的问题,请参考以下文章

观察者模式(Observer Pattern)

[Android&amp;Java]浅谈设计模式-代码篇:观察者模式Observer

JAVA观察者模式(observer pattern)

JDK自带的Observable和Observer实现观察者模式

设计模式之- 观察者模式(Observer Pattern)

行为类模式:观察者(Observer)