前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[答疑]历史状态指向别的状态有什么用,没有历史是不是应该回到初始状态

[答疑]历史状态指向别的状态有什么用,没有历史是不是应该回到初始状态

作者头像
用户6288414
发布2022-05-27 14:09:10
2540
发布2022-05-27 14:09:10
举报
文章被收录于专栏:软件方法

(匿) 2022-4-11 12:36

课后复习已三刷,觉得已经理解老师的讲解,可以提问了

这道题根据老师的讲解,在C2发生e5会转到A,这个我理解了。如果接下来从A经另一条路线到达E然后再e1转历史状态,那还是回到C2吗?

还有,历史状态指向别的状态有什么用,没有历史是不是应该回到初始状态?

UMLChina潘加宇

这个问题问得好,说明你确实是理解了并且在此基础上提出了真正的问题。

第一个问题,应该是到达C1。

这个情况和题目中在C2发生e4到达E后再通过e1回到历史不同。

在C2发生e5,迁移到C的终态,引发C的完成迁移到A。最后离开C的迁移是C→A,已经不能算是从C2离开C了。

另外,历史是C的历史,C进入终态,C的历史应该被清除。按照你说的另一条路的场景,在E发生e1时,C应该没有历史,因此迁移到历史状态指向的C,C的缺省状态是C1。

第二个问题我答不上来。

也许是为了再多一种选择吧,毕竟含义有区别。一个是未指明子状态时的缺省状态,一个是不存在历史状态时的缺省历史状态。

问题所给图中,历史状态指向C,所以这两者是相同的。如果历史状态没有缺省指向任何状态,那么两者也是相同的。如果历史状态缺省指向C2,就会不一样。

这只是我的猜测。《UML参考手册》第2版关于历史状态的解释如下,没有涉及以上内容。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 UMLChina 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档