java 装饰设计模式模式

时间:2023-03-09 23:57:28
java 装饰设计模式模式

对已有功能进行增强

java 装饰设计模式模式

示例

已有的类

java 装饰设计模式模式   调用java 装饰设计模式模式

增强后的类

java 装饰设计模式模式调用 java 装饰设计模式模式

思考? 为什么要这么做呢? SuperPerson 继承 Person 可以达到同样的效果.

继承的写法,其中MyBuffer...Reader写了3次,如果有更多的话,还会写更多的类。有些臃肿

java 装饰设计模式模式

第一次优化:将MyBuffer抽离出来

java 装饰设计模式模式

再看,利用多态实现多种方法

java 装饰设计模式模式

最终的结构。MyBufferReader 成为了增强的装饰类。就是装饰设计模式

对比原来的结构,是不是舒服很多

java 装饰设计模式模式vs java 装饰设计模式模式

看完这个再回过头看开始时候的示例。是不是就能够理解这种设计模式了