码迷,mamicode.com
首页 > 其他好文 > 详细

【设计模式】装饰模式

时间:2020-01-09 20:52:03      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:逻辑   动态   对象   png   相关   设计模式   图片   字段   问题   

装饰模式

装饰模式,动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活.

装饰模式就是为了给已有功能动态添加更多功能。

它解决的主要问题就是:

  • 之前的代码如果要给ConcretePerson加功能,就要在这个类里添加对应的成员变量或者新的字段,新的逻辑。这样不仅违反了开闭原则还让这个ConcretePerson类变得很复杂。

  • 而装饰模式,是把每个装饰的功能单独成类,并让这个类包装它所要装饰的对象。当需要执行这些特殊行为时,就可以有选择的按顺序的使用装饰。

更大的好处就是有效地把类的核心职责和装饰功能区分开了,而且可以去除相关类中重复的装饰逻辑。

技术图片

技术图片

【设计模式】装饰模式

标签:逻辑   动态   对象   png   相关   设计模式   图片   字段   问题   

原文地址:https://www.cnblogs.com/LampsAsarum/p/12173181.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!