论坛首页 Java版 领域模型

领域对象的纯粹度

浏览 1990 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2007-07-16 关键字: 领域对象
领域对象做对现实世界术语及其特性在一种描述,其内部结构应该完全忠于现实的逻辑。但有的时候需要(个人感觉需要)在部分对象中存放一些方便使用,但逻辑上面似乎有点牵强的成员。

在他人眼中可能比较难以理解,为什么要放这东西在里面,但若不存放,在日后的一些数据处理中又稍显麻烦,这个时候应该怎么去处理呢?
   
时间:2007-07-17
请看 evans DDD 这本书,有你需要的答案
   
0 请登录后投票
时间:2007-07-17
SunMicro 写道
领域对象做对现实世界术语及其特性在一种描述,其内部结构应该完全忠于现实的逻辑。但有的时候需要(个人感觉需要)在部分对象中存放一些方便使用,但逻辑上面似乎有点牵强的成员。

在他人眼中可能比较难以理解,为什么要放这东西在里面,但若不存放,在日后的一些数据处理中又稍显麻烦,这个时候应该怎么去处理呢?

举个例子吧。
   
0 请登录后投票
时间:2007-07-17
eric的 DDD当中描述的 服务,便是你想要的场景
   
0 请登录后投票
时间:2007-09-21
SunMicro 写道
领域对象做对现实世界术语及其特性在一种描述,其内部结构应该完全忠于现实的逻辑。但有的时候需要(个人感觉需要)在部分对象中存放一些方便使用,但逻辑上面似乎有点牵强的成员。

在他人眼中可能比较难以理解,为什么要放这东西在里面,但若不存放,在日后的一些数据处理中又稍显麻烦,这个时候应该怎么去处理呢?


加上去,然后写注释,签上你的名字
   
0 请登录后投票
时间:2007-09-24
我感觉受 主流/传统的 Object Orientation 对 领域模型设计 的影响, 以及 SQL 对 关系模型设计 的影响, 目前领域模型基本都设计为 "网络模型" 也就是更倾向于 传统的数据结构.

举个例子, 比如要描述一颗螺丝 s1 和一颗螺母 c1, 以及把它们拧在一起的关系.

如果按照网络模型(传统数据结构)的思路, 那么就必须同时有一个把螺丝拧进螺母(s1.cap = c1)和一个把螺母拧上螺丝的动作(c1.screw = s1), 显然这跟现实世界的逻辑思维是有差别的.

反过来如果按照关系模型的思路, 只要一个建立拧接关系的动作 (new Screwing(s1, c1)), 就跟现实逻辑是恰好符合的.

不过在通用OO语言基础上实现关系模型的语义, 还是要费些周折, 不过也不是不可能. Object Relation Kin Model 就是一个结合通用OO语言与关系模型的例子.
   
0 请登录后投票
论坛首页 Java版 领域模型

跳转论坛:
JavaEye推荐