装饰者模式

一、价值

避免子类继承父类导致的程序臃肿性。

二、概念:

又名包装模式。动态的给一个对象添加额外的职责。就是扩展功能而言,它比生成子类的方式更加灵活。

三、结构

抽象组件;

被装饰者;

装饰者组件;

具体装饰;

 四、优点

目的在于扩展对象的功能。装饰者模式提供比继承更好的灵活性。装饰是动态的,运行时可以修改的;继承是静态的,编译期便已确定好。

通过使用不同的装饰类及对它们的排列组合,可以创造出许多不同行为的组合。

五、缺点

产生很多的小对象,大量的小对象会占用内存。

组合方式很多。容易出错。

 

 

 

不就是继承的改进?

posted @ 2019-11-18 10:07  codeg  阅读(95)  评论(0编辑  收藏  举报