日期:2014-05-20  浏览次数:20628 次

分层的问题
我们老师在领着我们做一个小小得账单管理项目。让我们按照下面的分层方式编写代码,但是一直也没告诉我们为什么这么做:

web-->servlet-->biz-->dao-->数据库

话说我们的biz里面什么都没有,就是实现了调用dao的功能。业务逻辑应该在biz里面吧?至少从名字上看我觉得应该由biz实现。我感觉业务逻辑都放在servlet中不太好吧,servlet与biz层的功能分界在哪里呢?

我以前学过一些.net,也看过一些petshop。请问我们老师的这种分层方式与.net的三层(UI、BLL、DAO)有对应关系么?
我还想问问,java的过滤器这个功能是不是处于web与servlet之间呢?

谢谢。。。

对了,现在问们老师的这种分层方法还在实际应用么?这东西是不是有点旧了?

------解决方案--------------------
一般实际项目中比较常使用的是struts
后台分层一般是action-service-dao,这里的service就相当于你的biz

action或servlet一般只负责页面的跳转
service就是业务逻辑,如数据的校验、判断等等
dao数据库操作,一般越简单越好(为了重用)

过滤器是拦截和响应请求的,我的理解是

实际项目中一般都会分三层,越复杂越大型的项目可能分的还更多
------解决方案--------------------
这个分层不旧
------解决方案--------------------
当有一些比较复杂的业务逻辑的时候写在biz中就能跟dao的代码区分开,这样代码看得更清楚
------解决方案--------------------
一些复杂的,要写在biz,简单的就算了。
------解决方案--------------------
Servlet应该只是个控制器,不知道楼主写多少Servlet,要是没用到的Ajax,这时Servlet只写一个。