摘要: 状态模式的结构 用一句话来表述,状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。状态模式的示意性类图如下所示: 状态模式所涉及到的角色有: ● 环境(Context)角色,也成上下文:定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。这个具体状态类的实例给出此环境对象的现有状态。 ● 抽象状态(State)角色:定义一个接口,用以封装环境(Context)对象的一个特定的状态所对应的行为。 ● 具体状态(ConcreteState)角色:每一个具体状态类都... 阅读全文
posted @ 2013-02-28 16:44 lifeng_study 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 1,概念 将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。分离变化与不变的因素。 在面向对象的程序设计中,一个对象调用另一个对象,一般情况下的调用过程是:创建目标对象实例;设置调用参数;调用目标对象的方法。但在有些情况下有必要使用一个专门的类对这种调用过程加以封装,我们把这种专门的类称作command类。Command模式可应用于 a)整个调用过程比较繁杂,或者存在多处这种调用。这时,使用Command类对该调用加以封装,便于功能的再利用。 b)调用前后需要对调用参数进行某些处理。 c)调.. 阅读全文
posted @ 2013-02-28 16:02 lifeng_study 阅读(140) 评论(0) 推荐(0) 编辑
摘要: observer模式,当被观察者发生变化时,通知观察者,然后观察者也跟着变化实例:热水器,显示器,报警器热水器相对于显示器就是被观察者,显示器相对于热水器就是观察者,但是相对于报警器就是被观察者,报警器相对于显示器就是观察者java中被观察者继承Observable类,观察者继承Observer类1:热水器实现类package pattern.observer;import java.util.Observable;/*** 热水器:被观察者,* 显示器:相对热水器是观察着,相对于报警器是被观察者,* 报警器:观察者* @author lifeng**/public class Heater 阅读全文
posted @ 2013-02-28 11:09 lifeng_study 阅读(222) 评论(0) 推荐(0) 编辑