Web应用程序层需要帮助

时间:2011-06-06 09:14:30

标签: architecture

我正在试图弄清楚Web应用程序需要什么层才能牢固地分离关注点。 我正在使用经常与彼此交互的实体来处理大中型应用程序。

到目前为止,我有以下

  1. 实体层 - 为业务实体建模并在整个应用中使用

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

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

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

  5. 查看图层

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

    我的问题如下:

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

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

    3. View Layer是否可以访问Controller引用的服务?(为了检索某些列表,或者是否需要控制器提供视图的所有信息?

    4. 谢谢

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

1 个答案:

答案 0 :(得分:1)

  1. 我会说是的,服务可以与其他服务协作。
  2. 不,这是一种不必要的过度复杂化。
  3. 控制器确实是View的一部分;两个人在一起。视图可能会调用服务,尤其是在您使用AJAX调用进行Web UI时。