【问题标题】:What does it mean when applications one layer is not dependent on another当应用程序一层不依赖于另一层时,这意味着什么
【发布时间】:2019-07-11 13:02:56
【问题描述】:

我正在构建 Asp.net 核心 mvc 应用程序并尝试使用干净的架构。 我们知道,在 DDD 和洋葱架构中,UI 层不应该依赖于基础设施层和持久层。我不能完全理解这个概念,因为如果我不从 UI 层(我的 asp.net 核心 mvc 应用程序)引用基础设施层和持久层,我如何在启动类的 IOC 容器中注册具体实现?

【问题讨论】:

  • 当然它必须依赖于它们:它只是不必关心它们是如何实现的。
  • 现实世界的例子:你可以在加油站给你的车加满油,即使它刚刚建成并且你的车已经使用了 10 多年,而且你不必问他们是如何建造的。

标签: asp.net domain-driven-design onion-architecture


【解决方案1】:

应用程序的一层不依赖于另一层是什么意思

在实践中,这意味着我们应该能够替换外圆而不需要更改内圆。

在 Bob 大叔的具体示例中,我应该能够替换 ControllerPresenter需要更改 Use Cases

您的启动类,即Composition Root,负责将所有不同的部分连接在一起,以便它们可以相互通信。

另请参阅:Boundaries,作者 Gary Bernhardt。

【讨论】:

    猜你喜欢
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多