装饰模式与继承关系的目的都是要扩展对象的功能,但是装饰模式可以提供比继承更多的灵活性。 可以通过一种动态的方式来扩展一个对象的功能,通过配置文件可以在运行时选择不同的装饰器,从而实现不同的行为。 装饰模式优点 通过使用不同的具体装饰类以及这些装饰类的排列组合,可以创造出很多不同行为的组合。可以使用多个具体装饰类来装饰同一对象,得到功能更为强大的对象。 具体构件类与具体装饰类可以独立变化,用户可以根据需要增加新的具体构件类和具体装饰类,在使用时再对其进行组合,原有代码无须改变,符合“开闭原则”。 装饰模式优点 使用装饰模式进行系统设计时将产生很多小对象,这些对象的区别在于它们之间相互连接的方式有所不同,而不是它们的类或者属性值有所不同,同时还将产生很多具体装饰类。这些装饰类和小对象的产生将增加系统的复杂度,加大学习与理解的难度。 装饰模式缺点 比继承更加灵活机动的特性,也同时意味着装饰模式比继承更加易于出错,排错也很困难,对于多次装饰的对象,调试时寻找错误可能需要逐级排查,较为烦琐。 装饰模式缺点 何时使用装饰器模式 需要扩展一个类的功能,或给一个类增加附加责任。 需要动态地给一个对象增加功能,这些功能可以动态撤销。 需要增加由一些基本的排列组合产生大量的功能,从而使继承关系变得不现实 练习题 一段Java代码的核心逻辑是一个平均值计算程序。请使用装饰模式在它的基础上实现两个额
您可能关注的文档
- 5-1化学反应中的质量守恒导论.ppt
- 第10章应力、变形及裂纹合编.ppt
- 第10章圆柱齿轮的公差与检测32学时合编.ppt
- 第10章正弦稳态功率和能量合编.ppt
- 第10章质谱合编.ppt
- 第11.5节光波的叠加合编.ppt
- 第11-13章_核酸通论合编.ppt
- 5第五章循环系统导论.ppt
- 第11讲ch4弯曲内力§5~6合编.ppt
- 第11讲光与光合作用(Ⅱ)合编.ppt
- 2026年中国童车座塑件市场调查研究报告.docx
- 2026年汽车维修行业人才需求与发展趋势报告.docx
- 2026年及未来5年不锈钢肠粉炉项目市场数据调查、监测研究报告.docx
- 物流运输2026年无人机配送五年行业报告.docx
- 2026年物流行业质量认证报告及未来五年行业发展趋势.docx
- 2026年杜仲国际市场十年出口策略与贸易分析报告[001].docx
- 大学英语口语交际能力培养的情境模拟课题报告教学研究课题报告.docx
- 2025-2026学年高中物理选择性必修 第二册沪科版(2019)教学设计合集.docx
- 2026年体外诊断行业市场格局及竞争态势报告.docx
- 简单与复杂资料.pptx
原创力文档

文档评论(0)