策略模式(鸭子公司)定义了算法簇,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。观察者模式(订报)定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知,并自动更新。装饰者模式(咖啡价格)动态地将责任附加到对象上。想要扩展功能,装饰者提...
分类:
其他好文 时间:
2015-01-26 20:45:21
阅读次数:
319
装饰者模式在实际中的应用是java输入输出流,java.io中的类很庞大,我们在学习的时候,看到如此众多的类都觉得无从下手,实际上是因为java.io中使用了装饰者模式,大量的类都是装饰者。比如FileInputStream类,FileInputStream用来读取文本文件,是被装饰者,而它的装饰者...
分类:
其他好文 时间:
2015-01-21 15:08:34
阅读次数:
242
现在有一家咖啡厅,里面有四种不同的咖啡种类,而每种不同的咖啡都可以附加牛奶、豆浆、奶泡或者摩卡,而且每次客人点餐,还可以附加多倍的某种配料,比如双倍摩卡。如果使用简单的类继承方法,就要写数量庞大的类,而且很难管理类似于“双倍摩卡”这种形式。 于是,我们就可以引入装饰模式,装饰模式动态地将责任附加到....
分类:
其他好文 时间:
2015-01-21 13:07:28
阅读次数:
84
适配器模式将一个类的接口,转化成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。装饰者模式:动态的将责任附加到对象上(因为利用组合而不是继承来实现,而组合是可以在运行时进行随机组合的)。若要扩展功能,装饰者提供了比继承更富有弹性的替代方案(同样地,通过组合可以很好的避免类暴涨,也规避了...
分类:
其他好文 时间:
2015-01-15 20:14:03
阅读次数:
181
public interface Cake { public int cost();}public abstract class CakeDecorator implements Cake{}public class AppleCake extends CakeDecorator{ pr...
分类:
其他好文 时间:
2015-01-15 17:50:46
阅读次数:
164
用途 装饰者模式 (Decorator) 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator 模式相比生成子类更为灵活。 装饰者模式是一种结构式模式。结构 图-装饰者模式Component : 定义一个对象接口,可以给这些对象动态地添加职责。 interfaceCompon...
分类:
编程语言 时间:
2015-01-15 17:28:09
阅读次数:
236
Head First Design Pattern 读书笔记(3) Decorator Pattern 装饰者模式 ========= ##Decorator Pattern 类图 ![装饰者模式类图][2] ##定义 装饰者模式:通过让组件类与装饰者类实现相同的接口,装饰类可以在不修...
分类:
其他好文 时间:
2015-01-03 21:12:09
阅读次数:
292
装饰者模式 1、我曾经以为男子汉应该用继承处理一切,后来我领教到运行时扩展,远比编译时期的继承威力大,看看我现在光彩的样子 2、“给爱用继承的人一个全新的设计眼界”,我们即将再度讨论典型的继承滥用问...
分类:
其他好文 时间:
2014-12-31 11:33:58
阅读次数:
212
装饰者模式说明 说明:通一个类来动态的对另一个类的功能对象进行前或后的修饰,给它辅加一些额外的功能; 这是对一个类对象功能的装饰,装饰的类跟被装饰的类,要求拥有相同的访问接口方法(功能),这在动态面向...
分类:
编程语言 时间:
2014-12-25 11:35:42
阅读次数:
186