应用场景
需要可以迭代的在某个类方法的基础上动态的加一些功能。
设计思想
定义某种操作的抽象接口,然后不同的子类实现它。然后定义一个抽象装饰类,定义抽象装饰方法,也继承一下操作类的抽象接口,并且持有操作接口的引用。然后具体的装饰者实现该装饰方法,并且在方法内调用操作类的方法后加入自己的功能部分。这样就实现了给某个操作加一些功能。并且由于抽象装饰类继承了操作接口,所以还可以迭代的给某个操作加一些功能。比如JAVA中的流就用了装饰模式。可以在一个基础流上不断包装,加上其他功能。
需要可以迭代的在某个类方法的基础上动态的加一些功能。
定义某种操作的抽象接口,然后不同的子类实现它。然后定义一个抽象装饰类,定义抽象装饰方法,也继承一下操作类的抽象接口,并且持有操作接口的引用。然后具体的装饰者实现该装饰方法,并且在方法内调用操作类的方法后加入自己的功能部分。这样就实现了给某个操作加一些功能。并且由于抽象装饰类继承了操作接口,所以还可以迭代的给某个操作加一些功能。比如JAVA中的流就用了装饰模式。可以在一个基础流上不断包装,加上其他功能。
本文标题:装饰模式精髓
本文链接:https://www.haomeiwen.com/subject/cracmftx.html
网友评论