作为一个初学者在学习的过程中知道DAO模式。但是不知道他具体的好处有哪些?
解决方案 »
- oracle 数据库
- 关于jpa persistence.xml配置问题
- 请问怎么样获取相关的API
- [求救]为什么我的系统经常数据库阻塞和死锁?
- 请大虾们帮帮忙,在java中获取weblogic数据源时出现异常
- 怎么才能连上这该死的SQLServer2005数据库?郁闷好几天
- jboss,mysql,datasource配置问题。设计的数据源没绑定,,,
- 请问在weblogic里下面的user\password在那里配置?
- 关于jboss安装问题。
- 关于spring的官方reference
- 关于flex项目中,java后台如何向前台传递大数据的问题
- J2EE 在Tomcat 中使用水晶报表的问题(急)
对于实现业务逻辑而言,DAO层是基石。
而且分层后DAO的代码维护与变更等也变得清晰可理解。
另外就是方便单元测试了,单元测试的话dao关注数据库测试,service做mock测试。
如果项目开发分工一部分关注数据库交互,一部分只关注业务逻辑,这样的分工就挺明确(虽然经常实际按功能模块分工)。
另外,区分dao和service对于代码维护,较快错误定位都有帮助。
当然,如果数据处理简单的话,并且数据访问方式不会改变,dao与service合并还是可以的,这样也可以减少不少工作量
处理文件读写,排序的之类的 ,这些不应该放在dao中,应该写一个工具类操作
DAO(data access objects)数据访问对象,一般包含(javabean,connection数据库链接,CRUD操作接口与实现,dao工厂)。dao层对于service层,service只关心从工厂中得到dao对象,实现针对接口编程而达到并行开发的目的,实现工厂模式而达到减少耦合的目的(不管dao的实现是jdbc技术还是其他技术实现)service只依赖工厂