1

关于领域驱动设计:

我有领域模型、存储库和服务。我的问题是关于域的建模。

例如,我有一个包含 Employee、CountryId、State Id 的数据库表

  1. 我将如何建模我的域对象,我将使用 id 还是使用文字值对其进行建模?
  2. 在什么时候我会将 Id 值解析为文字值?
  3. 我应该使用服务指向存储库的 CRUD 操作还是反模式?

您的帮助将不胜感激。

4

1 回答 1

0

我将如何建模我的域对象,我将使用 id 还是使用文字值对其进行建模?

id 是域的一部分还是仅由您的关系数据库使用?在后一种情况下,您不会使用 id 建模。因此,严格来说,您也不允许将 id 存储在实体中,但这需要您创建数据传输对象,这可能会以几乎所有方式反映您的实体。因此,我个人并不那么严格地对待 DDD。

在什么时候我会将 Id 值解析为文字值?

您的基础设施层应该处理这个问题。

我应该使用服务指向存储库的 CRUD 操作还是反模式?

服务可以调用存储库。但是,如果有两种方法(看似)在代码库中实现相同的效果,那将是一种反模式。您可以将您的服务暴露给更高的层(并从该层隐藏存储库)并使用这些服务中的存储库。在这两者之间可能会有一些额外的逻辑。

于 2013-06-18T17:31:53.450 回答