谁能给我详细解释一下框架中的 model   dto   dao 以及serives 层都是干嘛用的,他们各自的作用是什么?不甚感激!

解决方案 »

  1.   

    MVC
    我觉得这东西你百度百科里面打上"MVC框架",基本上就能找到你所要的所有结果。
      

  2.   

    model:用来表示数据,就是数据库与java对象的一个映射
    dto:数据传输对象 
    dao:数据库访问层
    serives:业务层,对dao层的方法的排列组合
      

  3.   

    请问什么叫对DAO层的方法排序组合呀?
      

  4.   

    我说下自己的理解,有错的话欢迎指出
    serives:指的就是对外的功能接口。比如仓库管理,对于goods,我有查询goods的功能,有删除goods的功能,对应的serives就是提供这些功能的接口函数。不用去管怎么查询的。dao:指的就是如何实现对应的serives了,里面定义一堆方法,比如查询功能,我按goods名称查询是一个函数,按类别查询是一个函数。一般sql都写在这。dto:我们存放数据库的数据,比如goods的信息,有名称,价格,日期什么的,如果我有个方法只要名称,价格。如果每次都把所有数据都取一次就很繁琐,这时dto里面定义一些方法,把需要的属性一起取出来,比如物品有存进日期,取出日期,生产日期等,我们可以把有关日期的属性通过自己定义的一个方法取出来。该方法返回的是一个goods类的对象。
      

  5.   

    上面说的对DAO层的方法排序组合应该是service方法中调用哪些个dao层方法的一个组合吧?
      

  6.   

    页面是V 控制是C 业务和DAO是M,页面发送请求,控制层接收到请求,调用相应的业务层,业务层调用DAO,DAO在进行数据库操作,返回结果,控制层响应给页面
      

  7.   

    view      control     model
       MVC
      

  8.   

    我也试试说说我的看法
    一句话:
    1. dto: 数据传输对象,作为数据的一种封装在各个层之间进行传递。
    2. dao: 数据访问对象,作为数据的管理类,也就是封装对数据的增删改查等操作。
    3. services: 服务对象,作为业务对象,封装了业务逻辑。
    4. model:业务模型,对业务的各个实体和实体之间的关系进行的抽象。DTO:也有叫这个为VO(Value Object)的。这个对象的使用主要是一种数据结构,而对于它的行为是比较弱化的。使用VO作为接口的参数有几个好处:
      1. 方法的参数简单。
      2. 便于维护,对数据的变更都发生在VO中,接口不需要修改。
    DAO:  可以理解成是业务逻辑的原子操作。向services对象提供对数据的基本操作。
    Services: 业务的功能需要在这个层次有完整的匹配,对于MVC来说,就是MODEL。也是整个业务模型对外提供的接口。
      

  9.   

      今天我看公司代码  DAO部分的代码全部都只有一句话,就是继承hebrinate  然后什么都没了,这是个什么情况,他是把实现写在了servies那儿了吗?
      

  10.   


    比如:(以下是伪代码)
    UserDAO中有两个方法,
           boolean checkName(String name);
           User createUser(User user);
    UserManager中有一个创建用户的方法:
           User createUser(User user){
               //1.检查用户名是否可用
               if(dao.checkName(user.getUserName()))
               //可用的话就创建
               dao.createUser(user)
               .......
               .......        }在UserManager中createUser方法内部,就是对dao层方法的排列组合。
    明白否?
      

  11.   

    在SSH组合下,services由spring来组织(其它所有的action,service,dao都被看作是bean在Spring容器中管理)。dao由hibernate来实现。但并不能说DAO和hibernate有什么必然的联系,一个架构的抽象层应该和具体的某个技术是无关的,我们也可以用iBatis,JDBC来实现DAO。
    至于这位兄弟说的情况就应该是使用Hibernate来实现DAO层吧。