1 设计一个基类
2 继承这个基类,并包含这个基类的一个对象
3 创建继承类的时候,初始化这个基类,因为是基类指针,所以可以是所有基类的衍生类对象,那么就可以叠加任意多个衍生类对象了。
关键是在衍生类中包含一个基类对象,然后有了继承和包含两重关系,可以使得一个类一个类对象叠加,达到装饰目的。
等于是创建了一个对象指针链表,一个一个对象发挥其相应的作用。
下面程序装饰一个桌...
分类:
其他好文 时间:
2014-06-05 06:15:17
阅读次数:
278
装饰者模式用来扩展类的功能,是继承的替代方案。相比于继承,装饰者模式更加灵活。模式图:装饰者模式的实现有两个要点:1.
装饰者和具体的组件类继承同一个抽象组建类2. 装饰者以组合的形式持有抽象或具体的组件类
分类:
其他好文 时间:
2014-05-26 08:53:28
阅读次数:
164
一 Decorator模式意图:
动态的给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。
动态的给一个对象,而不是对整个类添加额外职责,说明此模式将采用的结构是组合而不是继承;要给一个对象添加职责,通常可以使用其类的派生类对象替换当前对象,但这显得不...
分类:
移动开发 时间:
2014-05-26 07:53:53
阅读次数:
442
在面向对象设计过程中,经常会遇到需要对现有的类的功能进行扩展,通常我们可以采用继承的方式。例如老罗最近在做手机,一开始需要定义手机所应具有的功能:1
interface Phone{2 3 public void tel();4 5 public void sms()...
分类:
其他好文 时间:
2014-05-25 11:34:23
阅读次数:
272
装饰者模式(Decorator Pattern) Java的IO类 使用方法
本文地址: http://blog.csdn.net/caroline_wendy/article/details/26716823
装饰者模式(decorator pattern)参见: http://blog.csdn.net/caroline_wendy/article/details/2670...
分类:
编程语言 时间:
2014-05-25 00:55:05
阅读次数:
346
装饰者模式(Decorator Pattern) 详解
本文地址: http://blog.csdn.net/caroline_wendy
装饰者模式(Decorator Pattern):
动态地将责任附加到对象上. 若要扩展功能, 装饰者提供了比继承更有弹性的替代方案.
使用方法:
1. 首先创建组件(Component)父类, 所有类,
具体组件(...
分类:
其他好文 时间:
2014-05-24 20:45:41
阅读次数:
317
装饰模式使用被装饰类的一个子类的实例,把客户端的调用委派到被装饰类,装饰模式的关键在于这种扩展是完全透明的。
装饰模式在Java种使用也很广泛,比如我们在重新定义按钮、对话框等时候,实际上已经在使用装饰模式了。装饰模式最浅显的例子是相片-相框的例子。
一、原理图...
分类:
编程语言 时间:
2014-05-20 16:51:23
阅读次数:
292
一、装饰者模式的内容装饰(Decorator)模式又名包装(Wrapper)模式[GOF95]。装饰者模式动态地将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。该模式以对客户端透明的方式扩展对象的功能。利用组合在运行时动态的合成自己想要的对象,这比继承更具弹性,是继承关系的一个替...
分类:
其他好文 时间:
2014-05-16 00:31:26
阅读次数:
427
快要毕业了,之前学习的设计模式没有想到这么重要,马马虎虎就应付过去了,现在重新学习一下。在这里写一下自己所理解的装饰模式,语言不多,看代码吧……package
decorator;/** * User.java * 定义一个接口,规定好一个方法,以后所有的类都去实现或重写这个方法 * @author...
分类:
编程语言 时间:
2014-05-15 21:13:37
阅读次数:
371
Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。...
分类:
编程语言 时间:
2014-05-15 05:45:34
阅读次数:
319