存储库实现是否是基础架构的一部分?

时间:2013-02-20 18:52:22

标签: c# domain-driven-design ddd-repositories

在DDD项目中,我有这样的结构:

基础设施

  • MyProj.Library(包含辅助方法)
  • MyProj.Factory(包含IoC和DI的方法)
  • MyProj.Data(包含IUserRepository的实现)

  • MyProj.Domain(包含域聚合和存储库接口,即IUserRepository)

应用

  • MyProj.WebAPI

我需要知道 MyProj.Data 是否属于Infrastructure层或Domain层。我真的很困惑实施的存储库所属的地方。

1 个答案:

答案 0 :(得分:3)

通常,您将在基础架构层中使用存储库实现,并在域层中使用存储库接口。

举个例子,看一下Onion Architecture陈述

  

内层定义接口。外层实现接口

Onion Architecture

在此simple implementation of the Onion Architecture中,VisitorRepository驻留在Infrastructure层中,并实现在Core(Domain)层中找到的IVisitorRepository。

相关问题