装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
point1:对扩展开放,对修改封闭
point2:继承引起的类型爆炸。
参考:java I/O
缺点:太过复杂,虽然很好的解决了扩展的问题,但是仍然会使api编写人员头昏脑涨。
JAVA的IO就是最好的参考!