观察者模式(Observer Pattern)

来源:互联网 发布:故事版软件 编辑:程序博客网 时间:2024/05/02 11:49

百度词条的解释

http://baike.baidu.com/view/1854779.htm

<?php//观察者模式//观察者接口(捕食者)interface Predator {//吃人function cannibalism();}//动物class Animal implements Predator {public $animalName;public function __construct($name) {$this->animalName = $name;}public function cannibalism() {echo $this->animalName.'吃人了';}}//主体class MainPart {private $animalArray = array();public function addPredator(Animal $animal) {$this->animalArray[$animal->animalName] = $animal;}public function removePredator(String $animalName) {unset($this->animalArray[$animalName]);}public function NotifyPredator() {foreach($this->animalArray as $animal) {$animal->cannibalism();}}}//创建主体类$mainPart = new MainPart();//狮子$lion = new Animal('lion');$tiger = new Animal('tiger');$mainPart->addPredator($lion);$mainPart->addPredator($tiger);$mainPart->NotifyPredator();?>


原创粉丝点击