gpt4 book ai didi

c# - DDD 中的 UI 层依赖

转载 作者:行者123 更新时间:2023-11-30 16:58:44 25 4
gpt4 key购买 nike

我当前的项目是这样组织的:

  • 领域层 -> 领域对象和存储库接口(interface)
  • 基础架构 -> 存储库实现
  • 应用层 -> MVVM 模式中的服务
  • 演示 -> 仅访问服务层并使用 ViewModels

我正在使用 IoC 容器 (SimpleInjector)。我的服务在构造函数中接收一个 IRepository,如:

public CustomerService : ServiceBase
{
public CustomerService(ICustomerRepository repository, IUnitOfWork<CustomerContext> uow)
{
...
}
}

我的问题是:

要在服务中注入(inject)存储库,我的表示层应该引用域层。可以添加此引用吗?我的表示层不应该只引用基础设施和应用层吗?

最佳答案

是的,没关系。

您需要对组合根(通常位于表示层)中的所有组件的引用。

我知道一开始感觉有点奇怪,但您需要区分 DLL 依赖性和硬类依赖性。如果您的表示层依赖于 DLL,那没关系,如果 View 依赖于 SQL 存储库(例如),那就不行了。

我已经写了一篇关于这个的博客文章,提供了更多信息:

http://www.kenneth-truyers.net/2013/05/12/the-n-layer-myth-and-basic-dependency-injection/

关于c# - DDD 中的 UI 层依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24912818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com