状态图中终止伪状态和最终状态有什么区别?



UML标准指出

终止伪状态


进入终止伪状态意味着 状态机通过其上下文对象的执行为 终止。状态机不会退出任何状态,也不会退出任何状态 执行除与 过渡导致终止伪状态。

何时应使用 final 和终止伪状态?对我来说,终止伪状态可以用名称为"已销毁"的状态替换。

很多解释和例子都有点晦涩难懂,所以让我看看我是否可以用更通俗易懂的英语为你说。最终状态是进程退出状态机的位置。终止伪状态是指状态机关闭的状态。

一个例子可能是手机呼叫的状态机。您可能具有查找联系人、发起呼叫、电话响铃、转到语音邮件或与联系人连接,然后最终断开连接等状态。在这种情况下,最终状态将是断开连接(或者更准确地说,断开连接将是导致最终状态的状态(。终止伪状态可能是手机电池耗尽、手机掉落垃圾处理等。

我不会说终止伪状态模拟状态机的异常终止,但这是它的大多数实际应用使用它的目的。

最新更新