所以,我在这里看到了一些关于它的问题,但没有一个是具体的,也没有回答我的疑问。
在分层架构/DDD 应用程序中, Controller (常见 MVC 应用程序中的“C”)适合哪一层?我在不同的地方读到它可能在 UI 层或应用程序层,但我仍然无法理解什么是正确的层。
我正在阅读 Eric Evans 的 DDD,直到我读到这本书为止,我还无法弄清楚。我注意到他说如果 UI 层不复杂,您可以将其与应用程序层合并。这对 Controller 来说是一样的吗?
最佳答案
MVC 通常是一个 UI 架构,因此 Controller 将成为 UI 的一部分,调用应用程序服务,然后将响应转换回适合 UI 的格式。
如果您的应用程序复杂到足以证明 DDD 的合理性,那么它很可能复杂到足以证明分离 UI 和应用程序层的合理性。
尽管如此,思考和避免过度设计是一个很好的 react 。如果您判断现在不需要隔离,那么没有什么可以阻止您将 Controller 用作应用程序服务,并在需要时进行重构。
随着 MV* 架构位于客户端的单页 Web 应用程序的新时代,隔离自然而然地出现,因为应用程序层位于不同的层上。
关于controller - Controller 适合分层架构/DDD 的哪一层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42873809/