java – 多级和分层状态机的设计

在网络编程中,您需要具有多个层次深度的状态机.
State Machine 1
     State Machine 2

     State Machine 3
          State Machine 4

这里状态机1包含两个状态机2和3. 3还包含机器4.

根据外部机器的状态,消息应该通过内部状态机.此外,如果内部状态机存在某些错误,则应将反馈给予上位机.

有一个很好的方法来做到这一点?

现在我有一个if语句和旗帜的丛林,为我这样做.我一直面临着一些问题,即由于状态机的整个状态处于不可恢复的状态而未设置某个标志.

更新:
我试图保持状态和机器静止.当请求将通过机器和状态时,请求本身将存储所需的所有元数据.在这种情况下,正常的状态机模式没有帮助.

解决方法

State Pattern分离状态和上下文. Context可以存储状态的层次结构,而状态子类本身并不知道这种层次结构.所有if语句都消失了,因为if下的每个部分都进入一个单独的状态子类.

相关文章

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
今天犯了个错:“接口变动,伤筋动骨,除非你确定只有你一个...
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:...
本文目录 线程与多线程 线程的运行与创建 线程的状态 1 线程...