设计模式之装饰模式
2015-07-04 12:23
351 查看
装饰模式
动态的给一个对象增加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活
person类:
衣服类
T袖类
大裤衩类:
接下来,我们就可以创建一个对象,然后用T袖装饰,在用大裤衩装饰。
类图:
装饰模式的特点
装饰模式是为已有功能动态的添加更多的功能的一种方式,把类中的装饰功能从类中搬移去除,这样可以简化原有的类。
动态的给一个对象增加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活
person类:
package com.hml.decorator; public class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void show() { } }
衣服类
package com.hml.decorator; public class Finery extends Person { protected Person component; public void decorate(Person component) { this.component = component; } public void show() { if (component != null) { component.show(); } } }
T袖类
package com.hml.decorator; public class TShirts extends Finery { public void show() { System.out.println("T袖"); } }
大裤衩类:
package com.hml.decorator; public class BigTrouser extends Finery { public void show() { System.out.println("大裤衩"); } }
接下来,我们就可以创建一个对象,然后用T袖装饰,在用大裤衩装饰。
类图:
装饰模式的特点
装饰模式是为已有功能动态的添加更多的功能的一种方式,把类中的装饰功能从类中搬移去除,这样可以简化原有的类。
相关文章推荐
- 《C语言及程序设计》实践参考——个税计算器之码数分离
- linux slub分配器浅析
- JAVA-1-学习历程1:基础知识1
- WPF_button 接受回车事件
- 《C语言及程序设计》实践参考——体重监测器
- Web API应用架构设计分析(2)
- HTML实体符号代码速查表
- Minimum Depth of Binary Tree
- Shop
- 幸福常常在别人眼里
- TCP/IP英文缩写汇总
- Cisco初始设置
- Phone模块后续文章说明
- 3.1.3 格式化字符串的语法
- android studio教程及android环境搭建
- linux ftp命令使用
- 1. 从线性代数谈起-
- 《C语言及程序设计》实践参考——点结构体
- 3.1.3 格式化字符串的语法
- eclipse 配置-插件安装