锁定老帖子 主题:有关领域对象
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-09-20
只有数据的对象当然是对象。称之为VO - value object。值对象。
|
|
返回顶楼 | |
发表时间:2004-09-20
照这么说,它和DataSet有什么区别,那DataSet也可以算是一个对象了?任何数据就是对象了,那操作这些数据的对象算什么呢?
|
|
返回顶楼 | |
发表时间:2004-09-20
不要概念混淆。单个VO实例代表“一个单位的数据”,通常是数据库表中“一行数据”。DataSet和前面我所说的ResultSet是代表数据集,应该可以算是DAO - Data Access Object.
I think you should figure out that by now. |
|
返回顶楼 | |
发表时间:2004-09-20
据你所说,java里的一个int值能不能算是一个值对象呢?
|
|
返回顶楼 | |
发表时间:2004-09-20
I don't wanna talk about basic concepts OK ?
int拥有它的wrapper class就是Integer,说它是值对象勉强也可以。但它不纯粹(拥有大量方法),而且实际运用中也没人用仅有一个int值的“值对象”。 |
|
返回顶楼 | |
发表时间:2004-09-20
个人觉得其实DO并不是说在DO对象中加入诸如save、update这些CRUD的方法,这些应该由DAO完成,DAO负责对于DO的持久化管理
我觉得DO的包含业务逻辑的理解应该是诸如根据某个字段计算出一个什么值,如getRMBByDoller这些业务逻辑,这样的话可以保证DO的业务逻辑复用性,其实诸如其中的一对多,多对多都是可以称为业务逻辑的,这个在Hibernate中帮忙实现了,很多情况下Hibernate中的PO就是DO了.... |
|
返回顶楼 | |
发表时间:2004-09-20
BlueDavy 写道 个人觉得其实DO并不是说在DO对象中加入诸如save、update这些CRUD的方法,这些应该由DAO完成,DAO负责对于DO的持久化管理
我觉得DO的包含业务逻辑的理解应该是诸如根据某个字段计算出一个什么值,如getRMBByDoller这些业务逻辑,这样的话可以保证DO的业务逻辑复用性,其实诸如其中的一对多,多对多都是可以称为业务逻辑的,这个在Hibernate中帮忙实现了,很多情况下Hibernate中的PO就是DO了.... 有了这些关联不能算是有了业务吧,顶多也是一部分业务信息。那个计算什么值就更不算了,我想你是在VO上计算的吧,没有通过DAO吧,这算什么啊。且ms的DataSet也有实体之间的关系啊。 |
|
返回顶楼 | |
发表时间:2004-09-21
关联是一部分的业务逻辑,这是不可否定的,也同样是你的Domain Model的构成部分
至于计算值那些为什么要放到DO,而不是VO,就是使得DO包含了并反应了一个业务逻辑对象的含义 Domain Model最重要的就是业务逻辑的复用,虽然这很难... 我对ms的DataSet不太熟,无法做出评价 DAO只是对于DO的持久化管理,并没有别的概念 |
|
返回顶楼 | |
发表时间:2004-09-21
BlueDavy 写道 关联是一部分的业务逻辑,这是不可否定的,也同样是你的Domain Model的构成部分
这个Domain Model指的只是数据的modal吧,如果用xml表示这些数据也是等价的吧。可它的操作部分只是一个个函数(用类组织了一下而已)。就是说,数据和操作是分离的,这不是完全的面向对象。 |
|
返回顶楼 | |
发表时间:2004-09-21
只有数据的对象只不过是个哑的,贫血的对象,也能被称为领域对象?
我的想法是这样的,它的数据存取通过DAO分离,但是它有自己的业务逻辑, 这些业务逻辑是可放在这个对象里的,除了数据存取 |
|
返回顶楼 | |