第三章——装饰者模式
来源:互联网 发布:mac版本千牛 编辑:程序博客网 时间:2024/05/21 13:59
1.采用装饰者模式的原因:(1)利用继承无法完全解决问题——类数量爆炸、设计死板、基类加入的新功能并不适用于所有的子类。
2.装饰者模式的定义:动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
注意:*(1)装饰者和被装饰对象具有相同的超类型;
*(2)可以用一个或多个装饰者包装一个对象;
*(3)既然装饰者和被装饰对象有相同的超类型,所以在任何需要原始对象的场合,可以用装饰过得对象替代它;
**(4)装饰者可以在所委托被装饰者的行为之前与/或之后,加上自己的行为,已达到特定的目的;
*(5)对象可以在任何时候被装饰,所以可以在运行时动态的、不限量的使用你喜欢的装饰者来装饰对象。
3.OO原则:开放——关闭原则:类应该对扩展开放,对修改关闭
4.复习回顾:
(1)OO原则:封装变化;少用组合,多用继承;针对接口编程,不针对实现编程;为交互对象之间的松耦合设计而努力;对扩展开放,对修改关闭;
0 0
- 第三章——装饰者模式
- 第三章 装饰者模式
- 第三章 装饰者模式
- 装饰者模式-《Head First 设计模式》第三章
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 大话数据结构学习之(二) 线性表
- qt对所有文字形式的文本使用tr()
- BZOJ 1015 JSOI2008 星球大战 starwar 并查集
- 架构设计模式概要总结
- APS.NET MVC3 + EF5 + SQLSERVER2008 配置环境搭建
- 第三章——装饰者模式
- 计算机系统知识总结
- MongoDB 在Macox 下的安装和启动
- Android_Activity_startActivityForResult和onActivityResult问题
- 换工作了,新的开始
- 每天一个linux命令(13):less 命令
- android程序退出后静态变量的处理
- C#面向对象思想深刻剖析
- PHP输入流php://input介绍