Decorator Pattern 装饰者模式 PHP

定义:动态地给一个对象增加一些额外的职责,不需要建立更多子类。是对象结构型模式。

角色:

Component抽象构件

定义对象的接口,可以给这些对象动态增加职责。声明了在具体构建中实现的业务方法,其可以使客户端以一致的方式处理未被装饰的对象以及装饰之后的对象,实现客户端的透明操作。

ConcreteComponent具体构件

定义了具体的构件对象,实现了在抽象构件中声明的方法。

Decorator抽象装饰类

是抽象构件类的子类,用于给具体构件增加职责,但具体职责在其子类中实现。维护一个指向抽象构建对象的引用,通过该引用可以调用装饰之前构件对象的方法,并通过子类扩展该方法,以达到装饰的目的。

ConcreteDecorator具体装饰类

是抽象装饰类的资料,负责向构件添加新的职责,每个具体装饰类都定义了一些新的行为。

代码:

Component

abstract class Component{
    public abstract function operation();
}

ConcreteComponent

class ConcreteComponent extends Component{
    public function operation(){
        echo "具体构件";
    }
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值