java设计模式-------装饰者模式
装饰者模式
Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。主要有组件(components)和装饰器(Decorator)组成。要求components和Decorator实现相同的接口或者抽象类(具体类的局限性太大)。...
分类:
编程语言 时间:
2015-02-03 21:25:47
阅读次数:
241
装饰着模式装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。案例有这样一个项目,做一个餐厅订餐系统。起初的代码结构是这样的。前面有很多Beverage的继承类,现在遇到的问题是牛奶的价钱上涨了,那么所有相关的类,我们都要进行调整,比如Milk,SugarAndM...
分类:
其他好文 时间:
2014-12-16 19:02:27
阅读次数:
315
装饰者(Decorator)模式:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更具有弹性的替代方案。对于装饰者模式,它其实是一种包装,所以我更愿意称它为一种包装。像咱们以前经常使用的Java里面的IO流就用到了装饰着模式。比如:BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file1)));这里file1为目标对象,而像BufferedReader、InputStreamRead...
分类:
编程语言 时间:
2014-10-04 01:18:45
阅读次数:
400
1.策略模式(Strategy): 定义了算法家族, 分别封装起来, 让它们之间可以互相替换. 比如Collections.sort(List list, Comparator c); 可以通过实现多个Comparator接口来达到多种排序的目的. 2.装饰着模式(Decorator): 动态的给一...
分类:
Web程序 时间:
2014-09-28 10:00:41
阅读次数:
260
我们都知道,可以使用两种方式给一个类或者对象添加行为。
一是使用继承。继承是给一个类添加行为的比较有效的途径。通过使用继承,可以使得子类在拥有自身方法的同时,还可以拥有父类的方法。但是使用继承是静态的,在编译的时候就已经决定了子类的行为,我们不便于控制增加行为的方式和时机。
二是使用关联。组合即将一个对象嵌入到另一个对象中,由另一个对象来决定是否引用该对...
分类:
编程语言 时间:
2014-07-28 00:23:49
阅读次数:
236
装饰者模式:动态地给一个对象添加一些额外的职责,就增加功能来说,Decorator模式比生成子类更为灵活。 Decorator模式的工作原理是:可以创建始于Decorator对象(负责新的功能的对象)终于原对象的一个对象“链”。适用性在以下情况下可以使用 Decorator 模式:在不影响其他对象....
分类:
其他好文 时间:
2014-07-22 22:58:12
阅读次数:
241
java IO
是以文件相对程序的流向定义的javaIO流可分为三类1、输入流,输出流2、字节流,字符流3、节点流,处理流(这里用到了装饰着模式)public class
IOtest { public static void main(String[] args) throws Except...
分类:
编程语言 时间:
2014-06-11 11:41:53
阅读次数:
371