程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 觀察者模式,觀察者模式類圖

觀察者模式,觀察者模式類圖

編輯:關於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();
    
    
    
    
    
    
    
    
    
    
    
    
    

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved