【问题标题】:What is the Correct way of using Layers in Web Application在 Web 应用程序中使用图层的正确方法是什么
【发布时间】:2013-04-02 06:25:12
【问题描述】:

我们有使用 Spring + Hibernate 设计的 Web 应用程序。以下是我们应用程序中的层。

    JSP
     |
Controllers
     |
   Facade
     |
   Service
     |
    DAO

在查看代码时,我看到一些 Service 类使用其他 DAO 类。这是正确的方法吗?我想知道使用图层的正确方法是什么。外观层应该直接使用服务层的对象还是应该通过其他外观对象?服务层也一样?

【问题讨论】:

    标签: hibernate spring-mvc web-application-design


    【解决方案1】:

    Web 应用程序的最佳方法是

         JSP
          |
      Controllers
          |
       Manager
          |
       Service
          |
         DAO
    

    在哪里

    JSP : 查看部分

    控制器:处理传入的请求并返回响应和正确的视图定义

    Manager :这将被注入到控制器中,这是逻辑/功能单元。一个管理器可以服务多个控制器

    Service : 这是服务层,仅由 Managers 调用,因此将注入 Managers 类

    DAO : 数据访问对象,这将注入服务层

    这是当今所有 Web 应用程序都遵循的最常见趋势。

    【讨论】:

    • 假设我有UserService 需要与BookmarkService/BookmarkDao 提供的书签相关的数据,那么UserService 应该使用BookmarkServiceBookmarkDao??
    • 您应该使用 BookmarkService 而不是 UserService。在分层架构中,逻辑应该只包含在相应的服务中。因此,UserService 用于用户相关信息,BookmarkService 用于书签相关信息。
    • 这意味着对 BookmarkServiceUserService 的调用应该从 Manager 层 和两个服务(书签和用户)应保持独立。
    • @code13 :至少你应该在接受答案的同时给予一些支持。
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2014-09-01
    • 2021-04-18
    • 2012-11-19
    • 2021-02-07
    • 2023-02-13
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    相关资源
    最近更新 更多