zoukankan      html  css  js  c++  java
  • php 设计模式-观察者模式

    刚刚研究完观察者设计模式,yii2随处用到的东西,记录竟总结一下,可能印象会更深一些

    /**
     * 观察者模式
     */
     
    class Father{
        private $_observers = array();
     
        public function register($sub){ /*  注册观察者 */
            $this->_observers[] = $sub;
        }
     
         
        public function trigger(){  /*  外部统一访问    */
            if(!empty($this->_observers)){
                foreach($this->_observers as $observer){
                    $observer->update();
                }
            }
        }
    }
     
    /**
     * 观察者要实现的接口
     */
    interface Observerable{
        public function update();
    }
     
    
    //实际用到时
    class Subscriber implements Observerable{
        public function update(){
            echo 'observers test';
        }
    }
     
    /**
     * 之后的任何类,只要继承Father 就可以使用观察者模式
     */
    class sun extends Father{
    
    }
    
    $test = new sun;
    $test->register(new Subscriber);
    $test->trigger();
    

      

  • 相关阅读:
    字符串、组合练习
    national flag
    常用的Linux操作
    大数据概述
    LL(1)文法
    简单有穷自动机
    简单C语言文法
    词法分析
    编译原理 141
    综合练习
  • 原文地址:https://www.cnblogs.com/zper/p/4106081.html
Copyright © 2011-2022 走看看