设计模式理解(八)结构型——装饰者模式(记得加上UML图 --- 未完)
2016-03-02 17:50
549 查看
一段时间没写,又忘了,晕。。。设计模式这种东西一定要经常用。
装饰者模式(Decorator)用于动态地给一个对象增加一些额外的职责,就增加功能来说,他比生成子类更为灵活。
装饰者模式的原则是:
能用组合就用组合,而不用继承
在运行时才确定添加的方法
UML类图:
/* -------------------------
* ------- 分割线 ----------
* ------------------------- */
代码:
/* --- 完 --- */
装饰者模式(Decorator)用于动态地给一个对象增加一些额外的职责,就增加功能来说,他比生成子类更为灵活。
装饰者模式的原则是:
能用组合就用组合,而不用继承
在运行时才确定添加的方法
UML类图:
/* -------------------------
* ------- 分割线 ----------
* ------------------------- */
代码:
///Component: ///定义一个对象接口,可以给这些对象动态地添加职责。 public interface Component{ void operation(); }
///Concrete Component: ///定义一个对象,可以给这个对象添加一些职责。 public class ConcreteComponent implements Component { public void operation() { // Write your code here } }
/// 装饰者父类, 默认直接调用component的方法 public class Decorator implements Component{ public Decorator(Component component){ this.component = component; } public void operation(){ component.operation(); } private Component component; } /// 以后的装饰者子类,重写父类的operator()方法,在里面加入自己的东西即可。
/* --- 完 --- */
相关文章推荐
- build.xml: 21: Class not found: javac1.8
- 数据批量导入HBase
- Android emulator中C代码的调试——gdb/gdbservers时遇到的坑
- Redis - Command examples
- ndk-stack 的使用
- Android插件化原理解析——Hook机制之动态代理
- OGNL表达式
- mark
- Android内存优化一:内存分析工具 MAT 的使用
- Phabricator 开放源代码的软件开发平台 Window Active Directory ldap ad域配置记录
- swift 里的class和static
- 面试题目以及注意事项
- XNA4.0 RPG游戏开发教程(二)
- android仿微信朋友圈上传下载图片
- 二叉排序数树
- 新闻发布系统
- Android插件化原理解析——概要
- CMD命令行方式更改Win7系统主题
- 鼠标选中不能复制
- JSPath基础用法