一、作用
装饰器模式符合开闭原则,在不修改原有类的情况下,为其增加新的行为
二、在装饰器模式中的角色有:
抽象构件(Component)角色:给出一个抽象接口,已规范准备接收附加责任的对象。
具体构件(ConcreteComponent)角色:定义一个将要接收附加责任的类
装饰(Decorator)角色:持有一个构件(Component)对象的实例,并定义一个与抽象构件接口一致的接口。
具体装饰(ConcreteDecorator)角色:负责给构件对象“贴上”附加的责任。
装饰器模式中的核心为装饰角色,此类即实现又持有抽象构件,实现的目的是可以与具体构件一样执行相同动作,持有的目的是可以把具体构件的行为传递进来。此时装饰角色很象是一个模仿者。在装饰角色下面的子类(具体装饰角色),由于其父类持有了具体构件,也代表其也持有了具体的构件,在其内部可以执行具体构件行为之上或之下,添加新的行为,从而达到扩展原类的行为的目的,提取抽象、隔离具体

网友评论