领域模型 - 设计模型

时间:2013-06-14 20:16:27

标签: domain-driven-design repository-pattern domain-model

关于域驱动设计:

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

例如,我有一个包含Employee,CountryId,State Id

的数据库表
  1. 我将如何建模我的域对象,我会使用id或文字值对其进行建模吗?
  2. 我会在什么时候将Id值解析为字面值?
  3. 我应该使用服务指向存储库的CRUD操作还是反模式?
  4. 非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

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

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

您的基础架构层应该处理这个问题。

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

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