百度空间 | 百度首页 
 
查看文章
 
[设计]深入理解JavaEE分层的职责
2008-09-23 22:32

我们常用的JavaEE系统都是分为三层:DAO,Serivce,Controller。
其中让新手弄不明白的是DAO与Service层,在小型项目中,因为没什么业务逻辑,所以Service看起来就像是DAO的Facade。比如:对于一个客户资料UserOrder 实体,dao中定义了getUserOrderByID() getAllUserOrder() insertUserOrder() updateUserOrder() delUserOrder()五个方法与基本的CRUD操作,那么在Service层中,同样都有这些方法,又因为Service中没有其中业务逻辑,所以感觉Service只是DAO的Facade。
这样第一个疑问就产生了。
Q:是不是我们可以只用DAO层呢?或者说把数据操作直接写在Service层呢?
A:实际上Service是处理业务逻辑的,即使现在没有多少业务逻辑,也要为了以后的扩展与更改。比如说getUserByAreaSrv()方法,一般我们都是从DAO直接获取,可真的完全是这样的吗?其实我可能只从数据库查询一个ID集合,然后,在服务层再通过缓存访问封装成完整的Model。这些都需要在Service完成(只是一个比喻)。所以说Service作用之一就是:service的存在,是为系统扩展留下的后路!

汗,太晚了,突然写不出自己的见解了,等哪天无聊的时候再重写这篇。嘿嘿。不过可以先参看Jdon的文章,我也是参照了里面很多的见解。http://www.jdon.com/jivejdon/thread/27452.html


类别:Java Tech | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu