PHP设计模式之装饰模式
来源:互联网 发布:淘宝编辑图片软件 编辑:程序博客网 时间:2024/05/20 14:42
装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活
<?phpabstract class Component{ public abstract function Operation();}class ConcreteComponent extends Component{ function Operation() { echo '具体对象的操作<br />'; }}class Decorator extends Component{ protected $component; public function SetComponent(Component $component) { $this->component = $component; } public function Operation() { if ($this->component != null){ $this->component->Operation(); } }}class ConcreteDecoratorA extends Decorator{ private $addedState; function Operation() { parent::Operation(); $this->addedState = 'New State'; echo '具体装饰对象A的操作'; }}class ConcreteDecoratorB extends Decorator{ private $addedState; function Operation() { parent::Operation(); $this->addedBehavior(); echo '具体装饰对象B的操作'; } private function addedBehavior() { }}$c = new ConcreteComponent();$d1 = new ConcreteDecoratorA();$d2 = new ConcreteDecoratorB();$d1->SetComponent($c);$d2->SetComponent($d1);$d1->Operation();echo '<br />';echo '<br />';$d2->Operation();
- 因为装饰模式对象作为子对象的包装,所以保持基类中的方法尽可能少是很重要的。如果一个基类具有大量特性,那么装饰对象不得不为他们包装的对象的所有public方法加上委托。
阅读全文
0 0
- PHP设计模式中之装饰模式
- PHP设计模式之装饰模式
- Php设计模式之装饰者模式
- PHP设计模式之装饰者模式
- php 设计模式 之 装饰模式
- php 设计模式 之 装饰模式
- php设计模式之装饰器模式
- PHP设计模式之装饰模式
- 【设计模式】之装饰器模式-PHP
- php设计模式之装饰模式
- PHP设计模式之装饰器模式
- php与设计模式之装饰模式
- PHP设计模式之装饰者模式
- PHP设计模式之装饰器模式
- PHP 设计模式之装饰器模式
- PHP设计模式之装饰模式
- PHP设计模式:装饰模式
- php设计模式之装饰器
- 蓝桥杯练习----入门训练 圆的面积
- main-bower-files <gulp插件>
- win10 下 c++遍历文件夹
- React native Model组件的使用
- File类
- PHP设计模式之装饰模式
- 用eclipse在maven里面下jar
- Xcode快捷键编辑
- ros kinect设备 gmapping 出现"No matching device found" 错误
- 2017noip总结
- 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
- 绕过沙箱
- 13打开r40平台tinav2.1下的AP6212A1版本的WIFI+BT(分色排版)
- C++ and QML , Signals