锁定老帖子 主题:如何设计DAO层
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-12
比如一个甲方和乙方的合同管理系统,对于这两个对象分别建立两个DAO类,还是共用一个DAO类呢? 如果分开建立有什么不好?共用一个又有什么好处??? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-10-12
http://www.iteye.com/topic/27047
|
|
返回顶楼 | |
发表时间:2006-10-12
个人认为 DAO要根据数据库表来定(基本个数已经定了)
而 表设计在基本设计阶段已经完成~。DAO设计(到详细设计了)不好变动 太大了~ |
|
返回顶楼 | |
发表时间:2006-10-12
qianjinfu 写道 个人认为 DAO要根据数据库表来定(基本个数已经定了)
而 表设计在基本设计阶段已经完成~。DAO设计(到详细设计了)不好变动 太大了~ 俺不是很明白你的意思? 我现在还没有搞过用程序操作两个或多个数据库。 |
|
返回顶楼 | |
发表时间:2006-10-12
两个或多个数据库?
你最好把你的问题说说清楚。 |
|
返回顶楼 | |
发表时间:2006-10-12
socfield 写道 请问如何设计一个项目中的DAO层?
比如一个甲方和乙方的合同管理系统,对于这两个对象分别建立两个DAO类,还是共用一个DAO类呢? 如果分开建立有什么不好?共用一个又有什么好处??? 有两点不明白的地方:1 合同管理系统 ?= 对象 2 现在有表设计吗? |
|
返回顶楼 | |
发表时间:2006-10-12
表设计没有,数据库只有一个。
我的意思是: 方案一:设计一个dao层,然后在写两个dao类,比如一个甲方的dao,专门crud甲方的信息,另一个是乙方的dao,专门crud乙方的信息。 方案二:就一个dao类,crud甲乙双方的信息。 哪个方案好?好在哪里,不好在哪里? |
|
返回顶楼 | |
发表时间:2006-10-12
我对DAO层的理解是:DAO层只对数据访问(一般是访问数据库)进行管理,不涉及具体业务逻辑。
我们的做法是:一种Persistent Object类型使用一个DAO接口/实现。 |
|
返回顶楼 | |
发表时间:2006-10-12
Dao层应该完全分为Service和Domain两层,我是这样理解的:
http://www.iteye.com/topic/27169 有兴趣者可以来讨论一下. |
|
返回顶楼 | |
发表时间:2006-10-12
1,DAO层应该是基于领域建模的!
主要负责对某类业务进行CRUD操作,且粒度非常细! 2,关于甲乙方信息,一般是采用一个数据对象来封装共有的信息!一个接口实现2个DAO类,可能是为了产品翻新,全新的实现,或移植,不同算法!模版方法设计模式里也有提到! 3,牵涉到其他业务操作,DAO层是允许的! 比如,查询甲的订单信息,需要关联到甲的用户资料信息,他们之间的关联是被允许的!OO思想不是完全没有一点耦合!何况SQL本来就是用来做复杂连接的!高度的OO,应该用H,sql都不用写了,透明地处理持久! 4,DAO层是不该直接被事务包装进去的,事务应该在最顶层业务层做!(方便扩大范围,嵌套事务) 5,单个DAO方法只能处理一次CRUD操作!DAO层应该尽可能是单例的!(用spring,基本你不做成单例也难) |
|
返回顶楼 | |