缺点: 在编写程序时, 它给我们提供了相当多的灵活性(以为我们可以很容易的混合和匹配属性), 但是它同时也增加了代码的复杂性.
使用: java I/O类库需要多种不同功能组合, 这正是使用装饰器模式的理由.