您的位置:首页 > 编程语言 > Java开发

java 设计模式实例 - 状态模式

2012-12-12 08:03 246 查看
状态模式(State Pattern)是设计模式的一种,属于行为模式。

  定义(源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。

  状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。

  意图:允许一个对象在其内部状态改变时改变它的行为

  适用场景:

  1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。

  2.一个操作中含有庞大的多分支结构,并且这些分支决定于对象的状态。

实例

1, 接口 State.java

View Code

package com.my.code;

import java.io.IOException;

public class StateMachine {
private State currentSate;

public State getCurrentSate() {
return currentSate;
}

public void setCurrentSate(State currentSate) {
this.currentSate = currentSate;
}

public static void main(String[] args) throws IOException {
StateMachine machine = new StateMachine();
State start = new StartState();
machine.setCurrentSate(start);
while(machine.getCurrentSate() != null){
machine.getCurrentSate().handle(machine);
}

System.out.println("press any key to exit:");
System.in.read();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: