PHP头条
热点:

观察者模式,观察者模式类图


观察者模式

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

 

www.phpzy.comtrue/php/35689.htmlTechArticle观察者模式,观察者模式类图 观察者模式 ? php // 定义观察者调用接口 class transfer{ protected $_observers = array (); // 注册对象 public function register( $sub ){ $this -_observers[] = $sub ; } // 外部统一调...

相关文章

PHP之友评论

今天推荐