首页 > 其他 > 详细

观察者模式

时间:2015-04-14 16:22:43      阅读:163      评论:0      收藏:0      [点我收藏+]

观察者模式

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

 

观察者模式

原文:http://www.cnblogs.com/ikasa007/p/4424813.html

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