关于Service和Dao的关系

在新的项目里,没有办法理解Service和Dao的意义,今天在晚上查找了一下 Service层的作用,在Jdon上搜到了一篇帖子,层的职责的请教,看到了里面的一些讨论,自己对这两个层次的划分也明确了许多。

Service层是业务逻辑,包括对一些数据的预处理啊,这样的一层也便于以后业务变化后,改动的代价较小(这个也是设计模式中心思想);

Dao层主要是对封装对数据库的访问,查询数据,或者对对象持久化,不应改包含任何的业务逻辑。

而且我也查看了Appfuse中的Service层和Dao层的设计,也都是遵循这个原则的,即便是在Service中代码只有一行,就是调用Dao的方法,也还是有Service类存在。所以我觉得appfuse的设计者也是对这中设计是很认同的.


       现在项目中会有的人会想要把查询 和 增删改的操作分离,个人觉得就没有这个必要了,因为有的时候,查询并不是只有查询的,而且,开发人员还要去分辨什么时候要分开,什么时候不用分,会弄的人很郁闷的,,不知道在一些大型的项目或产品中采用的是什么样的设计方式.

 

-----------

20090622

再次回顾这篇文章,其实,这就是一个软件的设计的概念--分层。

横向的分层:业务层和数据库访问层。如果系统的数据库替换,我们会很容易更改数据库层。

纵向的分层:按业务的种类划分层次。比如:用户管理模块,配置管理模块等。

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值