在 UML 中,对象的状态机是否定义对象的生命周期?

发布于 2024-12-14 11:02:42 字数 283 浏览 4 评论 0原文

在 UML 中,对象的状态机是否定义该对象的生命周期?

也就是说,从初始状态转换为普通状态创建对象,并转换到最终状态 处置那个物体?

In UML, does an object's state machine define that object's lifecycle?

That is, do transitions from the initial state to an ordinary state create the object, and transitions to the final state dispose of that object?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只等公子 2024-12-21 11:02:42

一般来说是的 - 至少这可能是最常见的使用方式。

UML 规范中没有强制要求这样做;它允许更普遍地使用状态机。例如,如果状态机具有>1个区域,则最终状态可用于表示区域内行为线程的结束。或者可以使用状态机来定义协议而不是对象的生命周期。

UML 的某些变体(配置文件)确实强制执行您所描述的行为,例如 可执行的 UML

我可能会反过来问:如果状态机确实定义了对象的生命周期,这对您有用吗?如果是这样,那么就这样使用它。如果您需要形式化,那么您可以定义一个配置文件。但在团队中非正式地达成一致也同样可以。

嗯。

Generally yes - at least that's probably the most common way of using them.

It's not mandated that way in the UML spec; it allows a more general use of state machines. For example, a Final State can be used to signify the end of a behaviour thread within a region if the state machine has >1 regions. Or a state machine can be used to define a protocol instead of an object's lifecycle.

Some variants (profiles) of UML do enforce the behaviour you describe, for example Executable UML.

I'd probably turn the question on its head and ask: would it be useful to you if the state machine did define the object's lifecycle? If so then just use it that way. If you need to formalise then you could define a profile. But it's equally fine to just agree informally in your team.

hth.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文