分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

PHP设计模式 - 装饰器模式

发布时间:2023-09-06 02:01责任编辑:傅花花关键词:PHP

装饰器模式允许我们根据运行时不同的情景动态地为某个对象调用前后添加不同的行

<?phpinterface Component { ???public function operation();}abstract class Decorator implements Component{ // 装饰角色 ????protected ?$_component; ???public function __construct(Component $component) { ???????$this->_component = $component; ???} ???public function operation() { ???????$this->_component->operation(); ???}}class ConcreteDecoratorA extends Decorator { // 具体装饰类A ???public function __construct(Component $component) { ???????parent::__construct($component); ???} ????public function operation() { ???????parent::operation(); ???// ?调用装饰类的操作 ???????$this->addedOperationA(); ??// ?新增加的操作 ???} ???public function addedOperationA() {echo ‘A加点酱油;‘;}}class ConcreteDecoratorB extends Decorator { // 具体装饰类B ???public function __construct(Component $component) { ???????parent::__construct($component); ???} ????public function operation() { ???????parent::operation(); ???????$this->addedOperationB(); ???} ???public function addedOperationB() {echo "B加点辣椒;";}}class ConcreteComponent implements Component{ //具体组件类 ???public function operation() {} }// clients$component = new ConcreteComponent();$decoratorA = new ConcreteDecoratorA($component);$decoratorB = new ConcreteDecoratorB($decoratorA);$decoratorA->operation();//输出:A加点酱油;echo ‘<br>--------<br>‘;$decoratorB->operation();//输出:A加点酱油;B加点辣椒;?>

PHP设计模式 - 装饰器模式

原文地址:https://www.cnblogs.com/taozi32/p/9226546.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved