我正在使用状态模式来设计一个服务来控制物理机。机器具有打开和关闭状态(以及一些其他有用的状态)。此外,它还有像 Open ==> Close 这样的转换。
这些转变开始了需要时间的物理过程,我想知道我是否真的应该将它们建模为状态。
一方面,这些不是我期望机器处于的稳定状态。它们没有多种行为,也不接受命令。开放,只做一件事 - 它过渡到开放。
另一方面,我希望人们能够查询服务并获得有关其状态的真实答案。如果一个进程请求我的状态并且我已经向机器发送了打开命令,但它还没有完成打开,那么我应该返回什么状态?打开听起来不错。
建议?智慧?两种方法之间是否存在权衡?