装饰模式

什么是装饰模式:
    装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。
角色:
    抽象组件角色: 一个抽象接口,是“被装饰类”和“装饰类”的父接口。
    具体组件角色:为抽象组件的实现类。
    抽象装饰角色:包含一个组件的引用,并定义了与抽象组件一致的接口。
    具体装饰角色:为抽象装饰角色的实现类。负责具体的装饰。
 
类图:

 

 

如类图:
    Componect是抽象类或者接口,定义了通用的操作。
    ConcreateComponent 是没有经过装饰的类。只实现了通用的操作。
    Decorator 装饰者的最顶层父类。是一个抽象类。
        需要注意的是:
        1: 他持有一个Component,构造decorator的时候初始化。
        2: 为了让Decorator能够修饰”具体组建角色“和”具体装饰器角色“。Decorator需要实现或者继承Component。

 

posted on 2020-03-30 21:33  笑明子  阅读(115)  评论(0编辑  收藏  举报

导航