【问题标题】:Web application layers help needed需要 Web 应用层帮助
【发布时间】:2011-09-09 03:24:18
【问题描述】:

我试图弄清楚 Web 应用程序需要哪些层才能实现可靠的关注点分离。 我正在处理具有经常相互交互的实体的大中型应用程序。

到目前为止,我有以下内容

  1. 实体层 - 对业务实体进行建模并在整个应用程序中使用

  2. 存储库层 - 处理持久性以及对数据库的所有调用

  3. 服务层 - 处理业务需求

  4. 控制器层 - 处理请求并仅调用服务

  5. 视图层

此外,每个实体都有一个专用的存储库和一个专用的服务

我的问题如下:

  1. 如果一个实体服务引用另一个实体服务是否可以,或者是否应该有一个新服务不绑定到使用实体服务的实体?(这是一个更广泛的问题:层之间的交互是什么)

  2. 存储库和服务之间是否应该有另一个层,例如管理器(专用于一个实体,包含与该实体相关的业务逻辑,就像原始设置中的服务一样,但只使用但其他服务)和引用管理层的服务层?(这听起来过于复杂,但如果有人对管理层和服务层有一些争论,请告诉我)

  3. 视图层是否应该有权访问控制器引用的服务?(为了检索一些列表,还是应该由控制器提供视图所需的所有信息?

谢谢

PS:我可能会在阅读答案时提出更多问题,如果我认为它们很重要,我会更新主帖。 PS2:如果您能分享有关此问题的任何个人经验,我将不胜感激。

【问题讨论】:

    标签: architecture


    【解决方案1】:
    1. 我会说是的,一个服务可以与其他服务协作。
    2. 不,这是不必要的过度复杂化。
    3. Controller 确实是 View 的一部分;两个一起去。视图可能会调用服务,尤其是在您使用 AJAX 调用创建 Web UI 时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-22
      • 1970-01-01
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      • 2022-01-22
      • 2021-03-30
      相关资源
      最近更新 更多