领域驱动设计

时间:2011-07-16 14:01:40

标签: domain-driven-design

我正在寻找有关DDD的以下2点的澄清。

1.可以让域实体调用存储库吗?

2.可以使用域名服务调用存储库吗?

由于

修改

找到了一套文档,详细介绍了DDD层的详细信息,这就是它所说的;

此外,尽管通常只在Application层中使用存储库,但也可以创建例外,并根据需要使查询从域服务调用存储库。但应尽可能避免这种情况,以便在我们的发展中实现同质化。

2 个答案:

答案 0 :(得分:2)

我不知道这么严格的规则。 任何都可以完成。

但这就是我的表现方式。我不知道它是否有资格成为DDD:

  1. 通常域对象不会调用存储库。他们不需要知道它们是否存在。
  2. 服务编排域对象和存储库以实现用例。他们拥有工作单位和管理交易。

答案 1 :(得分:2)

我不会设计域实体来引用存储库。 “存储库”很少是域的一部分,会在您的域模型中引入技术问题。我发现存储库最适合应用程序服务层。