java - 在不同状态之间传输数据

标签 java singleton state-machine

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

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

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

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

关于java - 在不同状态之间传输数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57390047/

相关文章:

java - 有什么理由将 Spring 单例 bean 中的私有(private)方法设为静态吗?

java - Guice 单例是否支持线程限制?

java - 如何将一个事件从一个按钮连接到另一个按钮?

java - sql查询平均,按毫秒的日期部分分组后

design-patterns - 用什么替换单例?

uml - 在 SRS 中绘制状态机图的更好单位是什么?

f# - 如何确保违法行为无法执行?

ruby-on-rails - 使用 pluginaweek 的 state_machine,我可以在事件期间引用 activerecord 对象吗?

java - 溢出的印地文段落 |在java中

java - 如何将 jsonobject 转换为 hashmap