您所在的位置:小祥子 » 编程 » PHP » 正文

观察者模式

时间:2015-04-17 编辑:ikasa007 来源:本站整理

观察者模式

<?PHP
    //定义观察者调用接口
    class transfer{
        protected $_observers = array();
        
        //注册对象
        public function register($sub){
            $this->_observers[] = $sub;    
        }
        
        //外部统一调用
        public function trigger(){
            if(!empty($this->_observers)){
                foreach($this->_observers as $observer){
                    $observer->update();
                }    
            }
        }
    }
    
    //观察者接口
    interface obserable{
        public function update();
    }
    
    //实现观察者
    class listen implements obserable{
        public function update(){
            echo 'now first time you need to do listen<br/>';
        }
    }
    
    class read implements obserable{
        public function update(){
            echo 'now first time you need to read<br/>';
        }
    }
    
    class speak implements obserable{
        public function update(){
            echo 'now first time you need to speak<br/>';
        }
    }
    
    class write implements obserable{
        public function update(){
            echo 'now first time you need to write<br/>';
        }
    }
    
    $transfer = new transfer();
    $transfer->register(new listen());
    $transfer->register(new read());
    $transfer->register(new speak());
    $transfer->register(new write());
    $transfer->trigger();
    
    
    
    
    
    
    
    
    
    
    
    
    
关键词:

相关文章