关于领域驱动设计:
我有领域模型、存储库和服务。我的问题是关于域的建模。
例如,我有一个包含 Employee、CountryId、State Id 的数据库表
- 我将如何建模我的域对象,我将使用 id 还是使用文字值对其进行建模?
- 在什么时候我会将 Id 值解析为文字值?
- 我应该使用服务指向存储库的 CRUD 操作还是反模式?
您的帮助将不胜感激。
关于领域驱动设计:
我有领域模型、存储库和服务。我的问题是关于域的建模。
例如,我有一个包含 Employee、CountryId、State Id 的数据库表
您的帮助将不胜感激。
我将如何建模我的域对象,我将使用 id 还是使用文字值对其进行建模?
id 是域的一部分还是仅由您的关系数据库使用?在后一种情况下,您不会使用 id 建模。因此,严格来说,您也不允许将 id 存储在实体中,但这需要您创建数据传输对象,这可能会以几乎所有方式反映您的实体。因此,我个人并不那么严格地对待 DDD。
在什么时候我会将 Id 值解析为文字值?
您的基础设施层应该处理这个问题。
我应该使用服务指向存储库的 CRUD 操作还是反模式?
服务可以调用存储库。但是,如果有两种方法(看似)在代码库中实现相同的效果,那将是一种反模式。您可以将您的服务暴露给更高的层(并从该层隐藏存储库)并使用这些服务中的存储库。在这两者之间可能会有一些额外的逻辑。