public class NewOrderState implements State{
@Override
public void handle() {
System.out.println("新订单,未支付");
System.out.println("调用商户客服服务,有新订单\n");
}
}
public class OrderContext {
private State state;
public OrderContext(){}
// public OrderContext(State state){
// this.state = state;
// }
public void setState(State state) {
this.state = state;
System.out.println("订单状态边更!!");
this.state.handle();
}
}
public class PayOrderState implements State{
@Override
public void handle() {
System.out.println("新订单已经支付");
System.out.println("调用商户客服服务,订单已经支付");
System.out.println("调用物流服务,未发货\n");
}
}
public class SendOrderState implements State{
@Override
public void handle() {
System.out.println("订单已经发货");
System.out.println("调用短信服务,告诉用户已经发货");
System.out.println("更新物流信息\n");
}
}
public interface State {
void handle();
}
public class Main {
public static void main(String[] args) {
OrderContext orderContext = new OrderContext();
orderContext.setState(new NewOrderState());
orderContext.setState(new PayOrderState());
orderContext.setState(new SendOrderState());
}
}