【问题标题】:In what layer do controllers fit in layered architecture/DDD控制器适合分层架构/DDD 的哪一层
【发布时间】:2017-08-09 23:20:34
【问题描述】:

所以,我在这里看到了一些关于它的问题,但没有一个是具体的,也没有回答我的疑问。

在分层架构/DDD 应用程序中,控制器(常见 MVC 应用程序中的“C”)适合哪个层?我在不同的地方读到它可能在 UI 层或应用程序层,但我仍然无法理解正确的层。

我正在阅读 Eric Evans 的 DDD,直到我读到这本书的时候,我还无法弄清楚。我注意到他说如果 UI 层不复杂,您可以将其与应用程序层合并。这会对控制器产生同样的影响吗?

【问题讨论】:

    标签: controller domain-driven-design n-tier-architecture presentation-layer application-layer


    【解决方案1】:

    MVC 通常是一种 UI 架构,因此控制器将成为 UI 的一部分,调用应用程序服务,然后将响应转换为适合 UI 的格式。

    如果您的应用程序足够复杂以证明 DDD 的合理性,那么它很可能足够复杂以证明分离 UI 和应用程序层是合理的。

    不过,思考和避免过度设计是一种很好的反应。如果您判断现在不需要隔离,那么没有什么可以阻止您将控制器用作应用程序服务并在以后需要时进行重构。

    随着 MV* 架构驻留在客户端的单页 Web 应用程序的新时代,隔离自然而然地出现,因为应用程序层驻留在不同的层上。

    【讨论】:

      猜你喜欢
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多