Design patterns 当使用状态模式时,耗时的转换真的只是状态吗?
我正在使用状态模式来设计一个控制物理机器的服务。机器具有打开和关闭状态(以及一些其他有用的状态)。此外,它还有类似Open==>Close的转换 这些转换开始需要时间的物理过程,我想知道我是否真的应该将它们建模为状态 一方面,这些不是我期望机器处于的稳定状态。他们没有多种行为,也不接受命令。打开,只做一件事-它转换为打开 另一方面,我希望人们能够查询该服务,并得到关于其状态的真实答案。如果一个进程请求我的状态,并且我已经向机器发送了Open命令,但它还没有完成打开,那么我应该为状态返回什么?开场白听起来不错Design patterns 当使用状态模式时,耗时的转换真的只是状态吗?,design-patterns,state,transitions,state-pattern,Design Patterns,State,Transitions,State Pattern,我正在使用状态模式来设计一个控制物理机器的服务。机器具有打开和关闭状态(以及一些其他有用的状态)。此外,它还有类似Open==>Close的转换 这些转换开始需要时间的物理过程,我想知道我是否真的应该将它们建模为状态 一方面,这些不是我期望机器处于的稳定状态。他们没有多种行为,也不接受命令。打开,只做一件事-它转换为打开 另一方面,我希望人们能够查询该服务,并得到关于其状态的真实答案。如果一个进程请求我的状态,并且我已经向机器发送了Open命令,但它还没有完成打开,那么我应该为状态返回什么?开场
建议?智慧?这两种方法之间是否存在权衡 在实现状态机时,需要有稳定的状态。例如,在这种情况下,您应该有四种状态:打开、打开、关闭和关闭。这将使您的状态机更加清晰。此外,状态机的转换通常基于一个事件,即当状态机从关闭变为打开时有一个事件,当状态机从打开变为打开时有一个事件。代码生成事件所花的时间并不重要,状态机只关心维护状态。