目前我正在尝试重新设计/重构当前作为状态机实现的现有应用程序,但我不确定,这种设计模式是否是此类工作的最佳解决方案。
场景:配置设备
必须先配置设备(传感器)才能使用它们。我们有一个Java EE应用程序,用户可以在其中启动设备的配置过程。然后在设备和应用程序之间发送消息。最后,设备已配置(或处于错误/超时状态),并且会向外部系统发送报告。
目前,该过程是作为状态机进行的,其中当前状态保存在数据库中。如果从设备接收到消息,则检索保存的状态并将下一消息发送到设备 - >下一个州。如果设备没有应答,则定时器发送超时消息 - >下一个州(超时)
你怎么看?状态机模式是否真的适合这种情况?或者哪种设计更适合?THX, 马库斯
答案 0 :(得分:1)
对我来说看起来不错,另一种选择可能是使用bpm,但我认为这是针对其他类型的事情。