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" );
    ?>
  • 相关阅读:
    05Linux系统常用命令
    04Linux系统目录结构
    02Linux文件系统基本结构
    01Linux_BASH基本操作
    [HTML] HTML常用标签及HTML语义化理解
    [Tools] MDN简介及如何使用MDN查找资料
    [HTTP] 初识HTTP
    [Git] Git 入门(常用命令使用)
    [CL](入门)命令行常用命令使用技巧
    IFE_part2_JavaScript_Ajax学习
  • 原文地址:https://www.cnblogs.com/wangtongphp/p/3600890.html
Copyright © 2011-2022 走看看