装饰者模式是一种在框架中应用广泛的设计模式,在JavaAPI中文件流操作就应用了这样的模式,例如InputStream in = new BufferedInputStream(new FileInputStream(file));其中,BufferedInputStream被用来装饰FileInp...
分类:
其他好文 时间:
2014-09-09 17:49:59
阅读次数:
281
假设有一个公司要做产品套餐,即把不同的产品组合在一起,不同的组合对应不同的价格。最终呈现出来的效果是:把产品组合的所有元素呈现出来,并显示该组合的价格。 每个产品都有名称和价格,首先设计一个关于产品的抽象基类。 public abstract class ProductBase { public a...
分类:
其他好文 时间:
2014-09-08 09:37:36
阅读次数:
359
形象例子: Mary过完轮到Sarly过生日,还是不要叫她自己挑了,不然这个月伙食费肯定玩完,拿出我去年在华山顶上照的照片,在背面写上“最好的的礼物,就是爱你的Fita”,再到街上礼品店买了个像框(卖礼品的MM也很漂亮哦),再找隔壁搞美术设计的Mike设计了一个漂亮的盒子装起来……,我们都是Dec....
分类:
其他好文 时间:
2014-09-01 21:00:43
阅读次数:
365
前言点击查看:设计模式系列装饰器模式(Decorator)定义:不通过派生类增改类属性动作,而是通过模式设计动态的达到这种效果,而且比继承更方便灵活减少程序的复杂性。举例:汪峰打造冠军团队。首先团队类为空,经过汪峰不断的努力,为团队争取学员,也为团队队员打造合适的平台,让其发挥。团队不断的变强,变完...
分类:
其他好文 时间:
2014-08-28 19:41:05
阅读次数:
208
12.1、Decorator模式
即使没有某一个对象的类的源代码,甚至即便这个类是声明为final的,Decorator模式和Wrapper模式都允许装饰或包装这个对象。
Decorator模式适用于无法使用继承的情况(比如,所指对象的类为final),或者你不想亲自创建对象,而是想从另一个子系统中获取。例如,Servlet容器创建了一个ServletRequest和一个ServletResp...
分类:
其他好文 时间:
2014-08-27 14:47:08
阅读次数:
174
掌握了设计模式之道后,我们将以全新的方法来理解设计模式,这个方法更简单、更直观,不信?看几个样例就知道了=====================================================================【业务】假设你进入了一个信息安全管理非常严格的公司,这家公司不允许员工自行打印文档,所有的文档打印都需要交给文档打印系统统一管理。文档打印系统会记录每次打印的...
分类:
其他好文 时间:
2014-08-27 11:00:07
阅读次数:
217
What
Decorator:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更加灵活。
Why
Decorator模式适用于可以动态的给对象增删职责,比如qq秀我们可以选择自己形象,并动态的添加衣服以及装饰,让自己的形象感觉高大上起来。Decorator适用于如下情况:
1.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职...
分类:
其他好文 时间:
2014-08-27 00:26:16
阅读次数:
283
WhatDecorator:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更加灵活。WhyDecorator模式适用于可以动态的给对象增删职责,比如qq秀我们可以选择自己形象,并动态的添加衣服以及装饰,让自己的形象感觉高大上起来。Decorator适用于如下情...
分类:
其他好文 时间:
2014-08-27 00:12:46
阅读次数:
296
定义:动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案。类图: Component:定义一个对接接口,可以给这些对象动态的添加职责; ConcreteComponent:定义一个具体的对象,也可以给对象添加一些职责; Decorator:装饰抽象类,继承了Compo...
分类:
编程语言 时间:
2014-08-24 19:14:13
阅读次数:
214
概念:在装饰模式中的角色有: ● 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。 ● 具体构件(ConcreteComponent)角色:定义一个将要接收附加责任的类。 ● 装饰(Decorator)角色:持有一个构件(Component)对象的实例...
分类:
其他好文 时间:
2014-08-21 18:34:44
阅读次数:
217