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