0 0

关于service层的疑惑5

一般的在ssh的开发中往往将web application分层  jsp-action-service-seviceimpl-dao-daoimpl
我想问一下这里的service层有什么用
因为它和dao的定义基本相同(可以看成是dao的代理)我感觉完全可以省略这一层
希望大伙能告诉我这一层的具体应用(最好举例说明)
谢谢啦

问题补充:
hudingchen 写道
分层仅是一种规范而已。
service层:主要写业务逻辑。
dao层:数据访问。

service层依赖dao接口就行了,不必知道daoimpl实现方式(hibernate,jta,ibatis),如果你的dao层发生变化了,只修改daoimpl就可以了,其他层代码不需修改。

但service层 分成 service接口 和 service实现是为了什么

问题补充:
hudingchen 写道
还是规范,是面向接口的思想,把service接口暴露给表示层,表示层不必关心service实现,降低了类之间的耦合度。


dao层可以有jdbc mybaties hibernate等实现
那么service层的其他实现是怎么样的呢
DAO 
2011年10月19日 21:20

4个答案 按时间排序 按投票排序

0 0

采纳的答案

那么service层的其他实现是怎么样的呢 

service层一般是根据业务逻辑划分的,比如有一个PersonService接口
public interface PersonService{
  public abstract void study();
    public abstract void eat();
  } 

它有俩个方法,action知道学study()就行,不需要知道它具体学什么,实现由seviceimpl来完成,根据业务逻辑可能会有外语,数学等等,eat方法也是这样。

2011年10月20日 07:05
0 0

引用
dao层可以有jdbc mybaties hibernate等实现
那么service层的其他实现是怎么样的呢

service层是调用各种dao的业务操作,比如你有一个业务是 添加,然后修改。
那么你分别调用dao的添加和修改操作,包括里面的一些数据转换,逻辑判断都放到service层,dao只是单纯的增删改查。
而且事务一般会放到service层。

2011年10月20日 09:24
0 0

还是规范,是面向接口的思想,把service接口暴露给表示层,表示层不必关心service实现,降低了类之间的耦合度。

2011年10月19日 22:44
0 0

分层仅是一种规范而已。
service层:主要写业务逻辑。
dao层:数据访问。

service层依赖dao接口就行了,不必知道daoimpl实现方式(hibernate,jta,ibatis),如果你的dao层发生变化了,只修改daoimpl就可以了,其他层代码不需修改。

2011年10月19日 21:57

相关推荐

Global site tag (gtag.js) - Google Analytics