装饰者模式(Decorator)

定义:动态地给某个对象添加一些额外的职责。Decorator模式是结构型模式中的一种,充分利用了继承与聚合的优势。

 

(1)装饰类与被装饰类有共同的超类。

(2)可以一个或者多个装饰者包装一个对象

(3)既然装饰者与被装饰者有相同的类型,所以在任何需要原始对象(被包装)的场合,可以用装饰过的对象替换它。

(4)装饰者可以在所委托被装饰者的行为之前与/或之后,加上自己的行为,以达到特定的目的。

(5)对象可以在任何时候被装饰,所以可以在运行时动态地、不限量地用你喜欢的装饰者来装饰对象。

 

使用Decorator模式的方法

(1)定义一个抽象的类,继承自需要添加职责的超类。

    命名规则可以设定为:添加职责名+需要添加职责的处理名+Decorator。如:SecuritySignInDecorator,意思为:给SignIn处理添加Security(安全)职责。

(2)该抽象类定义一个超类的成员变量,功能将在该超类基础上进行扩展。

(3)定义一个与超类需要扩展的处理名相同的处理,并调用成员变量需要扩展的处理。

(4)定义具体实现类,继承自抽象类。重写抽象类定义的处理,使用base.XXX的形式,使它能调用超类的处理

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值