对已有功能进行增强
示例
已有的类
调用
增强后的类
调用
思考? 为什么要这么做呢? SuperPerson 继承 Person 可以达到同样的效果.
继承的写法,其中MyBuffer...Reader写了3次,如果有更多的话,还会写更多的类。有些臃肿
第一次优化:将MyBuffer抽离出来
再看,利用多态实现多种方法
最终的结构。MyBufferReader 成为了增强的装饰类。就是装饰设计模式
对比原来的结构,是不是舒服很多
vs
看完这个再回过头看开始时候的示例。是不是就能够理解这种设计模式了