之前的装饰者模式,是将对象包装起来,赋予新的功能。适配器模式则是包装对象,使其接口看起来不像自己而是别的对象,就是将类的接口转换成想要的接口,以便实现不同的接口。而外观模式则是将对象包装起来以简化其接口。 适配器模式讲一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 ...
分类:
其他好文 时间:
2016-08-20 23:08:11
阅读次数:
196
对装饰者模式的简单理解: 作用:对一个对象原有的方法进行加强,修饰。 实现:装饰者和被装饰者必须实现相同的基类。 实例:java io中的相关类。比如Writer,Read,BufferWriter,bufferReader。 注意: 1.装饰者只是对被装饰者方法的加强,而不是新增方法。 2.装饰者 ...
分类:
其他好文 时间:
2016-08-19 18:57:31
阅读次数:
164
装饰者模式概念 动态的给一个对象添加额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。 应用场景 1、当我们需要对一个已经开发好的对象动态的添加额外的功能的时候. 2、适应于某个对象的职责经常发生变化或者经常需要动态的增加职责,避免因为这种为了适应这样的变化,而增加继承子类扩展的方式,因为 这 ...
分类:
其他好文 时间:
2016-08-13 22:36:36
阅读次数:
162
定义:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。概述:1.装饰者和被装饰对象有相同的超类型。2.你可以用一个或多个装饰者包装一个对象。3.既然装饰者和被装饰对象有相同的超类型,所以在任何需要原始对象(被包装的)的场合 ,可以用装饰过的对象代替它。4.装饰者可以在所委托被装饰者的行为之前与/或之后,加上自己的行为,以达到特定的...
分类:
编程语言 时间:
2016-08-11 01:02:40
阅读次数:
219
Io流里面的过滤流和节点流用的就是装饰者模式。整个的IO体系就是装饰模式。 这个写法就是装饰者模式。对上面的三个已经存在的类(DataOutputStream,BufferedOutputStream,FileOutputStream)进行组合,具有三种功能。 对于DataOutputStream ...
分类:
编程语言 时间:
2016-08-05 23:08:53
阅读次数:
483
1、装饰者模式与代理模式 (静态代理) 在日常开发里面,我们经常需要给某个类的方法增加加某些特定的功能。 例如:有婴儿,婴儿会吃饭和走动,如以下类 1 package com.scl.designpattern.proxy; 2 3 //婴儿类 4 public class Child implem ...
分类:
其他好文 时间:
2016-08-05 19:23:36
阅读次数:
189
DataInputStream这个类是二进制读写的。并且 是过滤流,会一层套一层的。这里就是装饰者模式。 结果是:3 12 a 案例如下: ...
分类:
编程语言 时间:
2016-08-05 15:53:55
阅读次数:
178
装饰者模式:动态地给一个对象添加一些额外的职责,就增加功能来说,Decorator模式比生成子类更为灵活。 Decorator模式的工作原理是:可以创建始于Decorator对象(负责新的功能的对象)终于原对象的一个对象“链”。 图1装饰者链 装饰者模式隐含的是通过一条条装饰链去实现具体对象,每一条 ...
分类:
其他好文 时间:
2016-08-05 00:33:19
阅读次数:
376
装饰模式的定义: 装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 装饰者模式结构图: 装饰者模式角色: (1)抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。 (2)具体构件(Con ...
分类:
其他好文 时间:
2016-08-03 18:38:55
阅读次数:
157