我正在构建一个以后端/数据库数据的CRUD操作为主要内容的Web应用程序。有些情况下,我需要编写业务逻辑(随着我们在开发中深入,我相信我们会构建更多的业务逻辑)。目前,对于我创建的每个UI屏幕,我都会创建一个模型类、服务类、DAO类、控制器(实质上是servlet)和一堆jsp页面。在大多数情况下,服务类只是调用DAO中的方法来传递模型对象。基本上,我们使用模型类将数据从UI屏幕映射出来。因此,当提交表单时,控制器将填充模型对象。我已经开始使用服务类来保持Web层与DAO层之间的分离层。但有时候我觉得服务类只是增加了不必要的API调用层级,我认为我可以直接将DAO注入到控制器中,以更快地完成任务。我希望仅在需要执行其他业务逻辑时才使用服务类。如果您要设计一个应用程序,您会考虑使用控制器->DAO还是控制器->服务->DAO控制流的哪些因素?