精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-18
DAO不多,直接注入DAO到service,DAO多且之间交互多,搞个DAO总管比较省事。service之间轻度依赖倒也无妨。我的系统设计原则是既不要配置膨胀,也不要“依赖树”过度膨胀,保持一定的层次,最小接口原则和人性化接口之间寻求平衡。
|
|
返回顶楼 | |
发表时间:2008-12-18
第二种方式搞清楚嵌套事务问题。还是不错的选择。DAO层次负责数据的基本操作,业务逻辑层负责管理业务,如果一个业务依赖另两个业务也是需求上的要求。这样业务逻辑层反而比较清晰。
|
|
返回顶楼 | |
发表时间:2008-12-18
没有怎么看懂,DAO不需要注入到sessionFactory中吗?
|
|
返回顶楼 | |
发表时间:2008-12-18
tagName 吧
|
|
返回顶楼 | |
发表时间:2008-12-18
llade 写道 DAO不多,直接注入DAO到service,DAO多且之间交互多,搞个DAO总管比较省事。service之间轻度依赖倒也无妨。我的系统设计原则是既不要配置膨胀,也不要“依赖树”过度膨胀,保持一定的层次,最小接口原则和人性化接口之间寻求平衡。
llade的观点我很赞同。 写个比较通用的DAO,这样子不需要所有的都写DAO才可以有的,比如论坛里很多人写到的用泛型写DAO,那么对于通用DAO可以只写一个: <bean id="genericDao" class="com.test.impl.GenericHibernateDaoImpl" lazy-init="true"> <property name="sessionFactory" ref="sessionFactory" /> </bean> 在其它的地方的DAO可以就这么写XML配置文件而不需要写DAO的类了 <bean id="dao1" parent="genericDao"> <constructor-arg value="com.joyosoft.system.model.Model1" /> </bean> 在调用的时候可以通过 GenericHibernateDao<Model.class> dao1 = getBean("dao1") |
|
返回顶楼 | |
发表时间:2008-12-18
楼上你的方法我认为适用性不高
如果我需要很多个不同model的DAO了? |
|
返回顶楼 | |
发表时间:2008-12-18
最后修改:2008-12-18
我选第二种,理由只有一个,业务层方法尽量独力,它是修改最频繁的代码,要重用的只是dao
|
|
返回顶楼 | |
发表时间:2008-12-19
最后修改:2008-12-19
第二种好点,但也有不好的地方,不应该在一个service种注入多个dao.个人认为service层应该只针对一个Dao,如果有其它的模块依赖那就产生出另一个service来处理它们的依赖关系,这样就可以清晰的知道哪些service是被依赖的。也就是应该分有哪些是稳定的service,哪些是不稳定的service。
|
|
返回顶楼 | |
发表时间:2008-12-19
没什么好说的 第二种 。。。
|
|
返回顶楼 | |
发表时间:2008-12-19
我觉得第一种好,service中再注入service就有service之间的耦合了。
|
|
返回顶楼 | |