我感觉受 主流/传统的 Object Orientation 对 领域模型设计 的影响, 以及 SQL 对 关系模型设计 的影响, 目前领域模型基本都设计为 "网络模型" 也就是更倾向于 传统的数据结构.
举个例子, 比如要描述一颗螺丝 s1 和一颗螺母 c1, 以及把它们拧在一起的关系.
如果按照网络模型(传统数据结构)的思路, 那么就必须同时有一个把螺丝拧进螺母(s1.cap = c1)和一个把螺母拧上螺丝的动作(c1.screw = s1), 显然这跟现实世界的逻辑思维是有差别的.
反过来如果按照关系模型的思路, 只要一个建立拧接关系的动作 (new Screwing(s1, c1)), 就跟现实逻辑是恰好符合的.
不过在通用OO语言基础上实现关系模型的语义, 还是要费些周折, 不过也不是不可能. [url=http://www.ableverse.org/articles/orkm.pdf]Object Relation Kin Model[/url] 就是一个结合通用OO语言与关系模型的例子.
举个例子, 比如要描述一颗螺丝 s1 和一颗螺母 c1, 以及把它们拧在一起的关系.
如果按照网络模型(传统数据结构)的思路, 那么就必须同时有一个把螺丝拧进螺母(s1.cap = c1)和一个把螺母拧上螺丝的动作(c1.screw = s1), 显然这跟现实世界的逻辑思维是有差别的.
反过来如果按照关系模型的思路, 只要一个建立拧接关系的动作 (new Screwing(s1, c1)), 就跟现实逻辑是恰好符合的.
不过在通用OO语言基础上实现关系模型的语义, 还是要费些周折, 不过也不是不可能. [url=http://www.ableverse.org/articles/orkm.pdf]Object Relation Kin Model[/url] 就是一个结合通用OO语言与关系模型的例子.
本文探讨了传统领域模型设计受到的ObjectOrientation与SQL的影响,并对比了网络模型与关系模型的不同之处。通过螺丝与螺母的例子说明了两种模型的差异:网络模型强调双向关联,而关系模型则关注单一动作。此外,还提到了实现关系模型语义的一种方法。
2053

被折叠的 条评论
为什么被折叠?



