行为(方法体)可以是状态机或活动 - 活动很容易理解,因为它们相当于过程代码。
我不明白如何将状态机用作操作的行为?
您能提供一个简单的例子吗?
- -笔记 - -
操作是一个仅规范的元素 - 将其想象为 OO 编程语言中的方法签名。它有一个名称和一个参数列表。
行为(除其他外)是操作(或其他行为功能,例如接收)在调用时所做的事情 - 将其想象为方法的主体。
“仅仅因为你可以,并不意味着你应该”。
换句话说:使用状态模型来定义操作的行为可能是合法的 - 但这并不意味着您应该这样做。我从来没有遇到过它有用的场景;但这当然并不意味着它们不存在。这也是某些 UML 规范中缺乏内聚性的症状。
当操作(而不是封闭类)具有有状态行为时,这将是适当的。使用一个真正人为的例子:考虑一种方法TcpConnection.close()
。如果连接已经关闭,则调用close()
不会有任何影响。如果连接已打开,则调用close()
会关闭它。
[但是:作为一个例子,它也说明了为什么我从未发现需要特定于方法的状态模型。状态模型确实属于类,而不属于操作]。
hth.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)