zoukankan      html  css  js  c++  java
  • PHP设计模式之观察者模式

    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
    " );
      }
    }
    
    $ul = new UserList();
    $ul->addObserver( new UserListLogger() );
    $ul->addCustomer( "Jack" );
    ?>
  • 相关阅读:
    Direct hosting of SMB over TCP/IP
    学习 Linux,302(混合环境): 概念
    脚本
    linux加入windows域
    Internet传输协议-TCP
    vCenter Single Sign On 5.1 best practices
    Zoning and LUN Masking
    Fiber Channel SAN Storage
    How to check WWN and Multipathing on Windows Server
    在Windows中监视IO性能
  • 原文地址:https://www.cnblogs.com/wangtongphp/p/3600890.html
Copyright © 2011-2022 走看看