package com.designpattern;
/**
* 状态模式
*/
public class StatePatternDemo {
public static void main(String[] args) {
Context context = new Context(new NewState());
context.execute(1);
context.execute(2);
context.execute(3);
// 适合场景,数据有状态,状态就一定会流转,从状态 1 变成状态2
// 将不同的状态要执行的代码逻辑封装在不同的state类中
// 有一个 context类,负责根据传入的参数,决定这份数据的状态流转到什么状态
// 适合的场景太明显了,只要有状态,都按照标准的状态模式来实现,改进
// 不同的状态逻辑放在不同state类
// 有一个类负责状态之间的流转以及状态逻辑的执行
}
public interface State {
public void execute();
}
public static class NewState implements State {
@Override
public void execute() {
System.out.println("新建销售出库单逻辑");
}
}
public static class ApprovingState implements State {
@Override
public void execute() {