装饰模式精髓

应用场景

需要可以迭代的在某个类方法的基础上动态的加一些功能。

设计思想

定义某种操作的抽象接口,然后不同的子类实现它。然后定义一个抽象装饰类,定义抽象装饰方法,也继承一下操作类的抽象接口,并且持有操作接口的引用。然后具体的装饰者实现该装饰方法,并且在方法内调用操作类的方法后加入自己的功能部分。这样就实现了给某个操作加一些功能。并且由于抽象装饰类继承了操作接口,所以还可以迭代的给某个操作加一些功能。比如JAVA中的流就用了装饰模式。可以在一个基础流上不断包装,加上其他功能。

你可能感兴趣的:(装饰模式精髓)