知识卡片

状态是抽象的反应模式

普通读书笔记卡 · 1949.a

内容

开发人员日常讨论对象状态时,往往指对象所有字段数据的组合,是具体、细粒度的理解;但状态机图里的状态是更抽象的概念——不同状态代表对象对外部事件的不同反应方式,而非内部数据的具体取值组合。同一批字段值哪怕完全不同,只要对象对下一个事件的反应规则相同,在状态机图上就属于同一个状态;反过来字段值相近但反应规则不同,就该建模成不同状态。抓住这个抽象层次的区别,才能判断属性变化该不该体现在状态机图上。

参考来源

- 位置:《UML精粹:标准对象建模语言简明指南(第3版)》第10章《状态机图》(源文件:_epub-src/EPUB/9.xhtml) - 结论依据:原文说明"当开发人员谈论对象时,他们经常引用对象的状态,状态意味着对象的字段中所有数据的结合。然而,状态机图中的状态是更加抽象的状态概念;本质上,不同的状态意味着对事件的不同反应方式"。 - 原始内容:当开发人员谈论对象时,他们经常引用对象的状态,状态意味着对象的字段中所有数据的结合。然而,状态机图中的状态是更加抽象的状态概念;本质上,不同的状态意味着对事件的不同反应方式。