作为一个初学者在学习的过程中知道DAO模式。但是不知道他具体的好处有哪些?

解决方案 »

  1.   

    我个人的理解dao不是一个模式,甚至不只是链接数据库。我个人将dao层理解为组件,一群支撑service的功能的基本实现,它可能是炒作数据库,也可能只是处理一个基本的文件读写,甚至只是一个排序,一个加减法。
      

  2.   

    个人觉得不是模式,只是JDBC中方便程序管理,使程序显得更有层次
      

  3.   

    DAO使程序层次分明,把对数据库的操作都放在这一层,这样其他层的逻辑控制就变得清晰明了了。
    对于实现业务逻辑而言,DAO层是基石。
    而且分层后DAO的代码维护与变更等也变得清晰可理解。
      

  4.   

    DAO对于初学者来说,可以理解为模式,但是这是一个分层模式:将项目分为3层,数据层,业务层,交互层。每层所写的内容均是分开的,主要是方便代码编写,有一些清楚的逻辑。防止初学者在写代码过程中出现思路混乱等问题。
      

  5.   

    相对于servlet,DAO的存在大部分是为了理清思路,代码简洁易懂
      

  6.   

    层次清晰,分工明确,dao就做数据访问工作,service只处理业务逻辑。
    另外就是方便单元测试了,单元测试的话dao关注数据库测试,service做mock测试。
    如果项目开发分工一部分关注数据库交互,一部分只关注业务逻辑,这样的分工就挺明确(虽然经常实际按功能模块分工)。
    另外,区分dao和service对于代码维护,较快错误定位都有帮助。
    当然,如果数据处理简单的话,并且数据访问方式不会改变,dao与service合并还是可以的,这样也可以减少不少工作量
      

  7.   


    处理文件读写,排序的之类的 ,这些不应该放在dao中,应该写一个工具类操作
      

  8.   

    对于DAO的叫法 那么一定是分层设计 称dao层
    DAO(data access objects)数据访问对象,一般包含(javabean,connection数据库链接,CRUD操作接口与实现,dao工厂)。dao层对于service层,service只关心从工厂中得到dao对象,实现针对接口编程而达到并行开发的目的,实现工厂模式而达到减少耦合的目的(不管dao的实现是jdbc技术还是其他技术实现)service只依赖工厂
      

  9.   

    DAO模式?这也能算是模式吗?
      

  10.   

    DAO(data access objects)  在DAO层中,只是专注于数据的操作基本的有 数据的 增删改查 还有分页等好处就是 将数据或者说数据载体与业务逻辑分离,当数据载体或数据结构变化的时候不会直接影响到业务逻辑也就是service层的代码例如 当前的数据载体是 数据库(oracle也好,MYSQL也好)   新的需要到了 ,需要数据载体为文件,那么只需根据dao接口提供 文件的对应操作即可
      

  11.   

    dao是mvc中的一层,用来直接操纵数据库,再与control层相接,这样当你更换别的数据库的时候只需改dao层中的部分代码即可,也就是持久化层
      

  12.   

    把一群用jdbc护database的类分别放在不同监狱里,好管理,好菊爆
      

  13.   

    把操作数据库的SQL专门放DAO里面统一管理,比如将来需要更换数据库时候,只需要修改DAO就可以了.不然你将SQL写在service层,需要修改的时候,你就得到处找哪儿有SQL语句了.
      

  14.   

    DAO是mvc模式的数据操作层,对数据持久化