我真的需要服务层吗?
我的Web应用程序是使用Spring MVC + Hibernate编写的。
- 我的模型是“客户”实体POJO。
- 我有一个DAO对象“CustomerDAO”,它的方法“saveCustomer(c)”包含与Hibernate交互的代码;
- 然后,我用“saveCustomer(c)”方法创建了一个“CustomerService”,该方法只需将客户对象传递给dao进行保存;
- 最后是“客户控制器”和客户.jsp,他们负责视图层,jsp的表单字段绑定到控制器端的Customer对象。控制器调用服务。
我看到很多应用程序遵循这种(最佳)做法,但我想知道为什么我需要一个服务层。
也许它对解耦目的很有用:我可以向控制器显示一个通用的外观,并注入到服务HibernateDAO,GaeDAO,MyDAO等中。但是我也可以在没有服务的情况下做到这一点:使用接口。
我也反对:验证。我会在服务中进行客户验证,但是....在Spring控制器中验证要方便得多。
请帮我理解这个概念,:)