Dao和Service包里定义的接口区别

来源:互联网 发布:淘宝上买小口栓输什么 编辑:程序博客网 时间:2024/06/10 14:38

--------

dao层是直接与数据库打交道的
service层是用来处理业务逻辑的,也就是需要调用dao层
两个层其实可以合二为一,但是为了分层方便,还是分开写

 

--------

dao是DataBase Access Object的简称,意思就是专门负责访问数据库的.
Service是属于biz层的,专门负责界面业务操作的.
业务处理的方法在这个层,在这个层调用dao层的方法.
其实没有严格意义上的分层,主要是为了应用程序的健壮性和扩展性.

 

---------

dao只是负责访问数据,也就是MVC中的Model 层

但是访问什么数据,按什么顺序访问,按什么结果返回,这就是service层做的,对应MVC中的controller层

 

提问人的追问   2009-12-07 23:55

那还分出来service层做什么呢 直接调用dao中的方法不行吗 好处是什么

回答人的补充   2009-12-08 00:03

你在哪里调用?

把通用的处理抽象出来当然方便一些。

比如你要借一本书,相关的操作就包括很多dao的修改,比如书的信息,借书人的信息,这样就需要多次dao操作,还有各种错误异常的检查和处理,放到一个service层调用中不是很方便吗,这样在各种地方调用也会很省事,修改起来也只用改一个地方。

 

----------

dao是数据访问层,service是业务逻辑层,必须分开以减少藕合度,便于维护