摘要: 装饰模式(Decorator):动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。上图为装饰模式的结构图,Component定义一个对象接口可以给这些对象动态地添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责(ConcreteComponent主要就是作为一个具体的对象存在)。Decorator,装饰抽象类,继承自Component,从外类扩展Component类的功能,相对于Component来说无需知道Decorator存在。ConcreteDecorator就是具体的装饰对象,起到给Component添加职责的 阅读全文
posted @ 2013-07-28 21:17 wangyafei_it 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 策略模式:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。策略模式的例子使用商场收银再好不过了,商场默认为正常收银;如果有打折,比如是打8折;如果有满减,满100减20;再或者满100送10积分;也可能是打折后满200减20等等这样的很多方式。而这些一个个方式也就是一个个不同的算法,根据策略模式的定义,将这些一个个算法分别封装起来(即有自己的一个个类),然后客户端想怎么用就怎么用。策略模式三元素:1.Context上下文,用一个属性或者是一个方法来配置,维护一个策略的对象; 2.策略类(策略接口),定义所有支持算法的接口; ... 阅读全文
posted @ 2013-07-28 11:20 wangyafei_it 阅读(172) 评论(0) 推荐(0) 编辑