设计模式之装饰模式

来源:互联网 发布:产业地产盈利 知乎 编辑:程序博客网 时间:2024/05/20 17:41

  初学装饰模式,我很疑惑,使用继承不是可以解决问题了吗?子类继承父类,然后在子类添加新的内容(装饰),不也一样可以达到目的吗?为什么要用装饰模式?

  最主要的原因就是,继承会造成继承体系十分臃肿,而装饰模式是在被装饰者体系之外创建对象,从而避免了体系臃肿这个问题。当然,我们初学者只写几个类,对体系臃肿带来的问题并不是很敏感。但是当我们着手大项目的时候,臃肿的体系让我们十分被动,既难以阅读更难以修改代码。

  对于只添加几个功能,我们应该使用装饰模式。但是对于添加很多个功能,我建议使用继承(个人愚见)!