2022年PHP设计模式实例之 .pdf
《2022年PHP设计模式实例之 .pdf》由会员分享,可在线阅读,更多相关《2022年PHP设计模式实例之 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、PHP设计模式实例之(观察者模式、策略模式、简单工厂模式)观察者模式/* * 定义观察接口*/ interface Subject public function Attach($Observer); /添加观察者public function Detach($Observer); /踢出观察者public function Notify (); /满足条件时通知观察者public function SubjectState($Subject); /观察条件/* * 观察类的具体实现*/ class Boss Implements Subject public $_action;private
2、 $_Observer;public function Attach ($Observer) $this-_Observer = $Observer; public function Detach($Observer) $ObserverKey = array_search($Observer, $this-_Observer);if( $ObserverKey != false) unset($this-_Observer$ObserverKey ); public function Notify() foreach($this-_Observer as $value ) 名师资料总结 -
3、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - $value-Update(); public function SubjectState ($Subject) $this-_action = $Subject; /* * 抽象观察者* */ abstract class Observer protected $_UserName;protected $_Sub;public function _construct ( $Name , $Sub)
4、 $this-_UserName = $Name; $this-_Sub = $Sub; public abstract function Update(); /接收通过方法/* * 观察者*/ class StockObserver extends Observer public function _construct($name,$sub) parent:_construct($name,$sub); public function Update() echo $this-_Sub-_action.$this -_UserName.” 你赶快跑 ” ; 名师资料总结 - - -精品资料欢迎
5、下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - $huhansan = new Boss(); /被观察者$gongshil = new StockObserver ( “三毛” , $huhansan); /初始化观察者$huhansan-Attach ( $gongshil ); /添加一个观察者$huhansan-Attach ($gongshil ); /添加一个相同的观察者$huhansan-Detach($gongshil ); /踢出基中一个观察者$
6、huhansan-SubjectState ( “警察来了” ); /达到满足的条件$huhansan-Notify (); / 通过所有有效的观察者策略模式/* * 定义支持算法的接口* */ abstract class Strategy abstract public function AlgorithmInterface (); class ConcreateStratA extends Strategy public function AlgorithmInterface () echo “ 算法 A” ; class ConcreateStratB extends Strategy
7、 public function AlgorithmInterface () echo “ 算法 B” ; class ConcreateStratC extends Strategy public function AlgorithmInterface () echo “ 算法 C” ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - class Context private $_StrObj ;public functio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年PHP设计模式实例之 2022 PHP 设计 模式 实例
限制150内