java 设计模式实例 - 状态模式
2012-12-12 08:03
246 查看
状态模式(State Pattern)是设计模式的一种,属于行为模式。
定义(源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。
状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。
意图:允许一个对象在其内部状态改变时改变它的行为
适用场景:
1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。
2.一个操作中含有庞大的多分支结构,并且这些分支决定于对象的状态。
实例
1, 接口 State.java
View Code
定义(源于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(); } }
相关文章推荐
- (二十二)Java设计模式之状态模式
- Java语言设计模式之状态模式(State)
- java设计模式(行为型)之状态模式
- JAVA设计模式-策略模式应用实例
- 剑指OFFER(java)-设计一个只能创建一个唯一实例的类——单例模式
- java设计模式第15弹--状态模式
- JAVA设计模式九之状态模式State
- Java设计模式系列之状态模式
- Java经典设计模式之五大创建模式(附实例和详解)
- Java设计模式之State(状态模式)
- JAVA设计模式:状态模式
- Java设计模式之状态模式
- java设计模式之状态模式
- java设计模式(二十)--状态模式
- Java 23种设计模式详尽分析与实例解析之一--创建型模式
- java设计模式——状态模式
- (转)Java经典设计模式(3):十一种行为型模式(附实例和详解)
- Java设计模式(行为型)之-状态模式
- java-设计模式实例
- java设计模式(八)状态模式