装饰着模式
来源:互联网 发布:知错先生 编辑:程序博客网 时间:2024/04/29 15:30
一、装饰者模式的定义
装饰着模式:动态地将责任附加到对象上。若需扩展功能,装饰者提供了比继承更有弹性的替代方案。
UML类图:
Component是定义了一个对象接口,可以给这些对象动态地添加职责,ConcreteComponent是一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了Component,从外类来扩展Component类的功能,但对于Component来说,是无需知道Decorator的存在的。ConcreteDecorator就是具体的装饰对象,祈祷给Component添加职责的功能。
二、装饰者模式的使用场景
1、动态地和透明地添加单个对象的责任,不影响其他对象。2、当扩展子类不切实际时。为了支持每一个组合,有时需要大量独立扩展,会产生爆炸子类。
3、当系统需要新功能的时候,是向旧的类中添加新的代码。这些新的代码通常装饰了原有类的核心职责或者主要行为。
三、真实世界中装饰者模式
Java IO采用的就是装饰者模式:Java IO也引出了装饰者模式的一个缺点,利用装饰者,常常造成设计中有大量的小类。
0 0
- Decorator(装饰着模式)
- 装饰着模式
- 15 装饰着模式
- 装饰着模式
- 装饰着模式
- 装饰着模式
- java装饰着模式
- JDBC中的装饰着模式
- 装饰模式-撤销装饰
- 设计模式之装饰着模式
- 设计模式之装饰着模式
- js设计模式-- 装饰着模式
- 装饰模式
- 装饰模式
- 装饰模式
- 装饰模式
- 装饰模式
- 装饰模式
- CentOS 7安装配置Samba服务器
- 推箱子小游戏源码
- Android AIDL机制
- C++异常处理之terminate函数
- #12 Integer to Roman
- 装饰着模式
- link标签只能在chrome浏览器下起作用
- Linux子系统
- MyEclipse+JSP+SqlServer登录验证图文教程(含源码)
- java学习之旅02--计算机语言发展史,Java历史,Java核心优势,Java三大版本的区别
- #13 Roman to Integer
- JavaScript中的集合及效率
- Android AdapterView
- Nginx配置性能优化