文章目录
- 一、状态模式(State Pattern)
- 类型:行为型模式
- 功能:
- 二、例子
- 1、菜鸟教程例子
- 1.1、定义状态接口
- 1.2、定义开始状态实现类
- 1.3、定义停止状态实现类
- 1.4、创建 Context 类
- 1.5、使用 Context 来查看当状态 State 改变时的行为变化。
- 三、其他设计模式
一、状态模式(State Pattern)
类型:行为型模式
功能:
对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。
二、例子
1、菜鸟教程例子
1.1、定义状态接口
public interface State {public void doAction(Context context);
}
1.2、定义开始状态实现类
public class StartState implements State {public void doAction(Context context) {System.out.println("Player is in start state");context.setState(this); }public String toString(){return "Start State";}
}
1.3、定义停止状态实现类
public class StopState implements State {public void doAction(Context context) {System.out.println("Player is in stop state");context.setState(this); }public String toString(){return "Stop State";}
}
1.4、创建 Context 类
public class Context {private State state;public Context(){state = null;}public void setState(State state){this.state = state; }public State getState(){return state;}
}
1.5、使用 Context 来查看当状态 State 改变时的行为变化。
public class StatePatternDemo {public static void main(String[] args) {Context context = new Context();StartState startState = new StartState();startState.doAction(context);System.out.println(context.getState().toString());StopState stopState = new StopState();stopState.doAction(context);System.out.println(context.getState().toString());}
}
三、其他设计模式
创建型模式
结构型模式
- 1、设计模式——装饰器模式(Decorator Pattern)+ Spring相关源码
行为型模式
- 1、设计模式——访问者模式(Visitor Pattern)+ Spring相关源码
- 2、设计模式——中介者模式(Mediator Pattern)+ JDK相关源码
- 3、设计模式——策略模式(Strategy Pattern)+ Spring相关源码
- 4、设计模式——状态模式(State Pattern)
- 5、设计模式——观察者模式(Observer Pattern)+ Spring相关源码