在不同状态之间传输数据

Transfering data between different states

我有一个状态机,它将 collect/generate 不同状态下的数据,然后数据将在稍后的某个状态下再次使用。如何在状态之间传输数据?

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

我觉得这两个选项都很丑,还有更好的吗?或者也许我应该使用另一种模式而不是状态机?

Motivation: The problem I'm trying to solve is to process a long text file where each line starts with a numeric id followed by data.

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

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