修饰者模式-动态地将责任附加到对象上。想要扩展功能，装饰者提供有别于继承的另一种选择。
对扩展开发，对修改关闭。  开放-关闭原则

例如：饮料可以加调料我们可以对饮料进行修饰，如浓缩咖啡咖啡加上摩卡
就成了摩卡浓缩咖啡咖啡，再加摩卡就成了双倍摩卡浓缩咖啡咖啡,再加奶泡，就成了双倍摩卡奶泡浓缩咖啡咖啡

java I/O的类就是用来修饰模式 所以的*InputStream类都是以InputStream类为抽象组件