行为型模式/设计模式

行为型模式

涉及算法和对象间职责的分配,以及它们之间的通信方式,刻画了运行时难以跟踪的复杂控制流,它们将你的注意力从控制流转移到对象联系方式上来。

类行为型模式

使用继承机制在类间分配行为。
模板模式(template method)
一个算法的抽象定义,它逐步定义算法,每一步调用一个抽象操作,子类定义抽象操作的具体实现。

解释器模式(interpreter)将一个文法表示为一个类层次,并实现一个解释器作为这些类的实力上的一个操作。

对象行为型模式

观察者(observer)
职责链(chain of responsibility)
命令(command)
迭代器(iterator)

备忘录(memento)
状态(state)
中介者(mediator)
访问者(visitor)

备忘录模式和状态模式(java)

两个模式都涉及类的状态:


//备忘录
类中提供creatBackup()和restore(Backup bk)的方法,用于类随时创建备份,并在需要的时候进行restore。Backup类存储备份时,类的一些状态信息。

//状态模式
将类的状态和此状态的行为,抽象出来,作为状态的承载类。
public void Context {
 String state;
 public void method1(){}
 public void method2(){}
}

不同的对象,展现不同的行为。(如qq忙碌、离线等等)

在状态的执行类中,就可以,根据传入不同的Context对象的状态,展现不同的行为了。

public void Mgr(){
Context c;
pulic Mgr(Context context){
c=context;
}
public void method(){
 if (c.getValue().equals("state1")) {  
            state.method1();  
        } else if (c.getValue().equals("state2")) {  
            state.method2();  
        }  
}
}

posted @ 2016-09-27 14:17  toto怎么会喝醉  阅读(143)  评论(0编辑  收藏  举报