【问题标题】:Where should the controllers be in a multi layered solution控制器在多层解决方案中的位置
【发布时间】:2019-03-22 13:40:18
【问题描述】:

说明: 我在 Visual Studio 中有一个解决方案,它有多个项目作为应用程序层。

  1. 业务逻辑(.NET 标准)
  2. 用于数据库操作的数据访问层(.NET 标准)
  3. Web 应用程序 (.NET Core)
  4. Xamarin Forms 移动版
    1. Xamarin Android
    2. Xamarin IOS
    3. Xamarin UWP

问题: 我应该在哪一层创建我的 MVC 控制器作为这种场景的良好设计实践?

【问题讨论】:

    标签: c# asp.net-mvc multi-layer


    【解决方案1】:

    控制器属于 web 层,因为它们处理与 web 相关的活动,例如路由、处理传入的 http 请求等。

    问问自己控制器的作用是什么,然后看看这些活动在哪一层有意义……处理传入的 http 请求在数据层中最有意义吗?不,数据层应该和数据I/O有关。

    在业务逻辑层中处理传入的 http 请求是否最有意义?不,业务逻辑应该包含只需要执行您正在构建的业务/域逻辑的逻辑。

    在 Web 层中处理传入的 http 请求是否最有意义?是的,正如我们所知,http 请求是网络的一部分。

    网络上有大量关于 n 层(又名洋葱)架构的信息。 Here 是我很快找到的一个例子,它比我上面的答案更详细

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 2016-05-30
      • 2012-05-21
      相关资源
      最近更新 更多