UML精粹里和你视频里说的不太一样
第五元素 2023-4-14 20:32

这是是UML精粹里的。潘老师,这个跟你视频里讲的是不是不太一样?还是我理解错了?

UMLChina潘加宇
这个(《UML精粹》)是UMLChina翻译的版本。
这个地方的表述是不恰当的,但不是翻译的问题,Fowler的原文就不合适,但原文如此,还是尊重作者。
原文是:It indicates that you take the transition immediately
这里面的第一个问题是,源状态要完成后才引发完成事件,怎么会是立即呢?后面Fowler也画了一个图10.3讲到do活动,也说了“Once the search is completed(一旦搜索完成)……”,和这里的表述是有冲突的。
第二个问题,完成后如果有警戒条件还要检测警戒条件,警戒条件为真迁移才会发生,怎么可能就笃定说“执行转换”。
因为这本书是“***精粹”,状态机图部分只有10页,对于状态的完成以及完成迁移等内容,Fowler在书中没有涉及更多,我们也无从知道写书时他对这些知识的认识是怎样的,只是针对这句话来说,可以表达得更严谨一些。
Fowler是“科普作者”,写的面比较广。如果要更深入研究某个点,可以去看更专业的文献。
