【问题标题】:Transfering data between different states在不同状态之间传输数据
【发布时间】:2019-08-07 08:26:49
【问题描述】:

我有一个状态机,它将收集/生成不同状态的数据,然后这些数据将再次用于以后的某个状态。如何在状态之间传输数据?

  1. 使用单例对象保存数据
  2. 将数据从一个状态传递到另一个状态,直到不再需要它为止。

这两个选项对我来说都很难看,还有更好的吗?或者也许我应该使用其他模式而不是状态机?

动机:我要解决的问题是处理一个长文本文件,其中每一行都以数字 id 开头,后跟数据。

【问题讨论】:

    标签: java singleton state-machine


    【解决方案1】:

    您可以使用 Java 枚举来执行此操作。基本上,您可以将状态和符号(或事件)传递给新状态。在这种情况下,将状态和符号声明为枚举将通过使其类型安全和简单来解决您的问题。以下链接将为您提供帮助。

    https://*.com/a/13224709/5883136

    https://www.baeldung.com/java-enum-simple-state-machine

    【讨论】: