【发布时间】:2013-04-20 11:07:28
【问题描述】:
我正在构建一个 Web 应用程序,该应用程序主要由来自后端/数据库的数据的 CRUD 操作构成。在某些情况下,我必须编写业务逻辑(我相信随着我们深入开发,我们将构建更多的业务逻辑)。目前,对于我正在创建的每个 UI 屏幕,我创建了一个模型类、服务类、DAO 类、一个控制器(本质上是 servlet)和一堆 jsp 页面。在大多数情况下,服务类只是调用 DAO 中的方法来传入模型对象。本质上,我们使用模型类来映射来自 UI 屏幕的数据。因此,控制器将在提交表单时填充模型对象。我已经开始使用服务类来保持从 web 层到 DAO 层的分离层。但有时我觉得服务类只是添加了不必要的 API 调用级别,我认为我可以将 DAO 注入 Controller 并更快地完成任务。我只想在需要执行其他业务逻辑时才使用服务类。如果你必须设计一个应用程序,你会考虑哪些因素使用控制器->DAO 与控制器->服务->DAO 控制流?
【问题讨论】:
-
当我开始我现在的工作时,我进入了一个已经存在的项目。我已经在这里待了一年多一点。老实说,我刚刚意识到应该有一个单独的层来注入 DAO。工作中的项目只是将它们注入到控制器中。既然我知道了这一点,并且已经为原子性的好处做好了准备,我认为拥有一个服务层会很好,因为我们在整个应用程序中确实有多个交互实体。
标签: java spring design-patterns spring-mvc