设计技巧26:状态模式 State 用类来表示一个状态

本文深入探讨了状态模式在编程中的应用,通过实例展示了如何使用状态接口和具体状态实现来管理不同状态的业务逻辑。重点阐述了状态机的实现方式,包括状态的转换和业务流程的控制。
1.普通状态机
public class StateMachine{
private final int STATE1 = 1;//以Int表示不同的状态
private final int STATE2 = 2;
 
private int state = STATE1;//当前所处的状态
 
public void insertCoin(){
if(state == STATE1){
......
state = STATE2;
}else{
if(state ==STATE2){
.......
state = STATE1
}
 
2.状态模式,把所有的业务交给状态来完成
 
public interface State{//状态接口
doSomeThing();
}
 
public class ConcreteState1 implements State{//具体状态实现
doSomeThing(){
System.out.println("State1");
}
 
public class ConcreteState2 implements State{//具体状态实现
doSomething(){
System.out.pringln("State2");
 
public class Context{//容纳状态
private State state1 = new ConcreteState1();
private State state2 = new ConcreteState2();
 
private State currentState = state1;
 
public void change(){//利用状态实现业务,并切换状态
currentState.doSomething();
if(currente == state2){
currenteState ==state1;
}else{
currentState = state2;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值