1

我已经开始阅读蓝皮书的几章,并阅读了红皮书的前三章(实施领域驱动设计)。我有两个问题:

(1) 一个子域可以有多个有界上下文吗?我特别关注实施领域驱动设计一书中的示例,其中有一个预测子域类型与库存耦合/重叠。(如果您还没有读过这本书,我们深表歉意,但这个想法是两个有界上下文之间存在很强的重叠)。

(2)我如何组织我的项目解决方案结构(我正在使用.net),有没有我可以查看的真实世界项目示例?我应该创建文件夹,即子域、核心域、通用域,然后指定其下的模块吗?我正在努力如何最好地定义我的结构,以便它显示洋葱/六边形层就位。

提前致谢。

4

1 回答 1

2
  1. 是的。域由多个子域组成(如果它足够复杂的话),每个子域实际上都是一组有界上下文。从应用程序的角度来看,域本身可以被认为是有界上下文 (BC)。BC 并不意味着它包含一个独特的模型,而是业务概念的特定表示。因此,您可以在多个 BC 中拥有 Book 定义,但在每个 BC 中,定义略有不同,从完整的细节到只是一个 id。因此,例如,来自库存的图书不同于来自销售的图书。BC 如何理解一个概念很重要。生成的模型仅在该 BC 中有效,尽管它可以与来自另一个 BC 的模型具有相同的名称。但这就是命名空间的用途。

  2. 没有秘诀,每个人都按照他们认为合适的方式构建他们的项目。但大多数时候,您至少会有一个领域项目和 UI、持久性、基础设施项目。我认为最好的结构取决于应用程序和开发人员的想法,所以我做事的方式可能不是你的最佳方式。简而言之,按照对您有意义的方式构建应用程序。

于 2013-05-14T08:43:08.233 回答