【发布时间】:2017-01-21 06:33:58
【问题描述】:
我有以下Onion Architecture 框架。
-
Domain-
Entities- 对于我的域实体 -
Interfaces- 用于我的域接口 -
Services- 用于我的域服务
-
-
Infrastructure-
Data- 用于Fluent NHibernate持久性 -
Interfaces- 用于基础设施接口 -
Logging- 只是一个日志接口,以防我想将我的日志库切换到其他东西。 -
Dependency Resolution- 我的大部分IoC注册都在这里。
-
-
Services-
Interfaces- 应用服务接口在这里,它们将在UI项目中实现。
-
-
Tests-
Infrastructure Tests- 用于测试基础设施服务等。 -
Domain Tests- 用于测试领域模型和服务
-
-
Web-
UI- 我在其中实现应用程序服务、用户界面等的用户界面项目...
-
使用Domain Driven Development 可以识别Bounded Contexts。互联网上的大多数文献都指出,每个Bounded Context 都需要抽象到自己的项目或命名空间中。
- 我的方法是否不正确,因为我的所有
Domain Models都在一个项目中,而我所有的Domain Services都在另一个项目中?在不同的命名空间或项目中没有不同的限界上下文真的很重要吗? - 如果你有一个
Model A使用我的Bounded Context A,但Bounded Context B、Bounded Context C等也需要使用完全相同的Model A,你是否允许他们使用完全相同的模型,还是为每个Bounded Context创建一个新模型?
如果这个问题是一个愚蠢的问题,我是 DDD 的新手,很抱歉。如果我提出一个问题并得到一个很好的解释作为答案,我会发现自己能更好地理解一些事情。
任何帮助将不胜感激。
【问题讨论】:
标签: c# design-patterns architecture domain-driven-design onion-architecture