设计模式
文章平均质量分 80
ricoio
打杂的
展开
-
设计模式--观察者模式"推"数据
观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖他的对象得到通知并被自动更新。 观察者模式机构的四种角色:1、主题:是一个接口,定义具体主题需要实现的方法,如:添加、删除、通知观察者的方法。2:、观察者:是一个接口,定义具体观察者用来更新数据的方法。3、具体主题:主题接口的实现类,需要包含一个集合,用来存放观察者的引用,以便数据变化时通知具...原创 2013-03-03 23:11:47 · 248 阅读 · 0 评论 -
设计模式--观察者模式“拉”数据
前面讲了观察者模式的“推”数据的方式,接下来时观察者模式的“拉”数据方式。拉数据方式是指具体主题不将变化后的数据交给具体观察者,而是提供获得这些数据的方法,具体主题在得到通知后,调用具体主题的方法更新自己的数据(即观察者把数据拉过来)。 例子,一家商店发布打折商品信息,包括商品的价格、折后价、名称。有两位顾客,一位关注打折的商品,另一位关心商品折后价格。 /**...原创 2013-03-04 22:33:35 · 679 阅读 · 0 评论 -
设计模式--观察者与多主题
观察者与多主题:一个观察者可以依赖于多个主题,当所依赖的任何主题数据发生变化时,该观察者都能得到通知。处理多主题采用的是拉数据方式。 例子:李先生想了解每天的天气预报信息和每日的旅游信息。 /** * */package org.rico.pattern.demo.observer.observer3;/** * @author rico 2013-3...原创 2013-03-04 22:33:55 · 650 阅读 · 0 评论 -
设计模式-装饰模式
装饰模式(包装器):动态地为对象添加一些额外的职责。 装饰模式是动态地扩展一个对象的功能,而不需要改变原始类代码。 装饰模式主要包括四种角色:1、抽象组件(Component):定义了“被装饰者”需要进行装饰的方法。2、具体组件(ConcreteComponent):抽象组件的子类,具体组件实例也称为“被装饰者”3、装饰(Decorator):也是抽象组件的子类,还...原创 2013-03-10 22:07:46 · 182 阅读 · 0 评论 -
设计模式-策略模式
策略模式:定义一系列方法,把他们一个个封装起来,并且是他们可相互装换。策略模式把针对一个算法标识的一系列具体算法分别封装在不同的类中,使得各个类给出的具体算法可以相互替换。 策略模式结构的三种角色:1、策略(Strategy):是一个接口,定义若干算法标志,即定义若干个抽象方法。2、具体策略(ConcreteStrategy):策略的实现类,给出算法标识的具体算法。3、...原创 2013-03-11 22:58:50 · 131 阅读 · 0 评论 -
设计模式记录--说明
所涉及的设计模式来自于《java设计模式》-耿祥义、张跃平著一书,内容可能有一些修改,可能是跟书中的一样。目的:1、每次看完书内容,过一小段时间后马上会忘个光光,所以记录一下,待以后可以参考。2、开始养成些博客的习惯,抛弃懒散的恶习。...原创 2013-02-27 23:59:13 · 115 阅读 · 0 评论