首页 > Web开发 > 详细

PHP设计模式之观察者模式

时间:2014-03-15 14:42:04      阅读:495      评论:0      收藏:0      [点我收藏+]

PHP设计模式之观察者模式

PHP 设计模式之观察者模式

观察者模式:

将观察者逻辑写到业务逻辑里面去,

适用业务场景举例:

注册用户之后,①通知用户欢迎使用此系统②给推荐人积分③写入日志程序。

 

适用场景及注意事项:

①一个业务逻辑的对象会引起其他一个或多个业务逻辑,能用于对象之间的通信

②依赖性弱,被观察者里面添加方法用来关联其他对象,关联是在对象外面执行,类的独立性强。

③各个观察者类最好继承一个接口,因为观察者的方法名可能存在于被观察者的方法中。

 

<?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" );
?>

PHP设计模式之观察者模式,布布扣,bubuko.com

PHP设计模式之观察者模式

原文:http://www.cnblogs.com/wangtongphp/p/3600890.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!