爱程序网

观察者模式

来源: 阅读:

观察者模式

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

 

关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助