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

设计模式-装饰者模式

时间:2018-10-07 15:38:06      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:代码   访问   程序   一个   方案   基础   装饰者   基础上   设计模式   

一、定义

定义:在不改变原有对象的基础上,将功能附加到对象上

提供了比继承更有弹性的替代方案(扩展原有对象功能)

类型: 结构型

 

二、使用场景

扩展一个类的功能或者给一个类添加附件职责

动态给一个对象添加功能,这些功能可以再动态的撤销

 

三、优点

继承的有力补充,比继承灵活,不改变原有对象的情况下给对象一个扩展功能

通过使用不同装饰类以及这些装饰类的排列组合,可以实现不同的效果

符合开闭原则

 

四、缺点

会出现更多的代码,更多的类,增加程序的复杂性

动态装饰时,多层装饰时会更复杂

 

五、相关设计模式

1. 装饰者模式和代理模式

装饰者模式关注一个对象动态添加方法

代理模式关注控制对对象的访问

 

六、Coding

 

设计模式-装饰者模式

标签:代码   访问   程序   一个   方案   基础   装饰者   基础上   设计模式   

原文地址:https://www.cnblogs.com/linlf03/p/9750146.html

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