java设计模式中既然有dao层为什么还要service层区别是什么?

dao层就能处理增删改查等业务操作 service做的到底是什么不太明白?

dao层一般只增删改查,操作数据库,无其他代码,Service层才是业务逻辑层,打个比方,
用户注册,注册信息保存到数据库中,用户信息在service层中设计到业务逻辑了,保存前要判断数据库中有没有重复的用户名,没有的话,给密码加密后在传入到dao中,dao来insert进去,所以dao的代码不要掺杂业务逻辑代码,接收Service处理好的数据,然后保存.这样层次分开了就,比较容易维护,dao层的方法也容易重用,一个查询,可能多个地方用到,假如dao也有业务逻辑了,那么就不能重用了.
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-02
dao是数据访问层,service是业务逻辑层,必须分开以减少藕合度,便于维护
第2个回答  2013-09-02
要曾删改查其实写在一个里面也可以啊,连层都不用分啊分层主要是为了理清思路,以后还可以进行扩展啊!养成好的分层习惯对以后开发很有好处的!我也是初学者,如用不对,择言而听。
第3个回答  2013-09-02
dao层是数据层,services是控制层,这样分开,逻辑上比较清晰
第4个回答  2013-09-02
dao只是负责访问数据,也就是MVC中的Model 层但是访问什么数据,按什么顺序访问,按什么结果返回,这就是service层做的,对应MVC中的controller层本回答被网友采纳

java中dao层和service层的区别,为什么要用service
首先解释面上意思,service是业务层,dao是数据访问层。呵呵,这个问题我曾经也有过,记得以前刚学编程的时候,都是在service里直接调用dao,service里面就new一个dao类对象,调用,其他有意义的事没做,也不明白有这个有什么用,参加工作久了以后就会知道,业务才是工作中的重中之重。我们都知道,标准主...

java中dao层和service层的区别是什么?
service负责业务逻辑,dao负责数据访问。以注册用户这个功能为例,service层要负责检查用户名是否保留字,是否已使用,然后把信息写入数据库,再生成关联信息比如权限等也写入数据库。同时还要处理异常。这一串动作就是业务逻辑,service层要负责实现,但它不应该关心底层用的是mysql还是oracle,也不应该由它拼接...

java中dao层和service层的区别是什么
简单的说dao层是跟数据库打交道的,service层是处理一些业务流程的,至于你说的为什么要用service层封装,我认为:一般来说,某一个程序的有些业务流程需要连接数据库,有些不需要与数据库打交道而直接是一些业务处理,这样就需要我们整合起来到service中去,这样可以起到一个更好的开发与维护的作用,同...

java 项目 框架 说明文档
1、数据库和model中的实体类是相互对应的,一个实体类,就对应这数据库中的一张表。2、dao是一个service和model联系的桥梁,封装了操作数据的具体实现,你可以在dao中使用jdbc,也可以使用hibernate。但是这些对service层都是透明的。3、service层通过调用dao层,直接取得需要的数据或者要执行的操作,并且...

...mvc里面,为什么要单独出来一个service层调用dao再传给controller啊...
service层又叫做业务层,本来组织sql之类的都是在这层写,但是很多人会写在dao层,其实是不对的,但是也没人会在意,而且直接写在dao层会看起来简单,实则从长久看会麻烦,但是谁会在意呢,这只是个注重效率的时代,service层的目的是重用,就比如你要分页查询,就会分为3个方法,查list,查数量,和一个把这两...

java项目,如何实现业务逻辑层和数据访问层的分离?
这个是通过三层结构来实现的。第一层:controller,本层主要负责页面信息传递;第二层:service,本层主要接收控制层参数,进行业务方面的处理,之后访问dao数据层。第三层:dao,本层主要接收业务层内容,之后进行数据的存储和变更、删除操作。这样就可以实现业务层和数据层的分离了。

Service层和Dao层真的有必要每个类都加上接口吗?
如果项目的 Service 层和 Dao 层,都是接口-实现类这样做的,大多数时候代码还是可以看的,相当于多了一个方法目录,比如可以让开发人员在写一个新方法之前,看看能不能复用之前的方法; 当然,你不这么做的话,开发人员也可以直接在实现类中看现有的方法,只是相对来说说,在一个几十上百行的目录中翻找,和在一个成...

java包名的约定,如Dao,vo,之类,谁能告诉我尽量多的这些约定啊?
我的理解就是最基本的Java Bean,只有属性字段及setter和getter方法!。 DAO(data access object) 数据访问对象 是一个sun的一个标准j2ee设计模式,这个模式中有个接口就是DAO,它负持久层的操作。为业务层提供接口。此对象用于访问数据库。通常和PO结合使用,DAO中包含了各种数据库的操作方法。通过它的方法,结合PO对...

java中的Dao类是什么意思?
DAO是Data Access Object数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用...

Java架构中DAO干什么用的
依赖于DAO的业务组件为其客户端使用DAO提供更简单的接口。DAO完全向客户端隐藏了数据源实现细节。由于当低层数据源实现变化时,DAO向客户端提供的接口不会变化,所有该模式允许DAO调整到不同的存储模式,而不会影响其客户端或者业务组件。重要的是,DAO充当组件和数据源之间的适配器。(按照这个理论,如果...

相似回答