我们都知道Decorator设计模式,特别是我在互联网上找不到任何缺点。但我想到了一个大问题:
如果你的基类很庞大(比如有50个字段),并且你决定对其进行装饰:
public class BulkyBaseClass {
// 50 fields
//...
}
class Decorator extends BulkyBaseClass{
private BulkyBaseClass mBase;
public Decorator(BulkyBaseClass bulkyBaseClass){
this.mBase = bulkyBaseClass;
}
// Some overrides to decorate the composed base class
}
那么,我们难道不能看到这里装饰器本身的大多数字段都是无用的,我们真正感兴趣的只是被装饰的类的字段,这会导致很大的内存占用吗?
对我来说,这是一个很大的缺点。不是吗?