Domain driven design 存储库、映射器以及如何加载对象及其关系 我使用C++(QT库)来制作一个简单的领域建模应用程序。我正在编写自己的O/R映射类。随着这个应用程序在未来的发展,我正试图保持一个干净的代码库,并清晰地划分各个层

Domain driven design 存储库、映射器以及如何加载对象及其关系 我使用C++(QT库)来制作一个简单的领域建模应用程序。我正在编写自己的O/R映射类。随着这个应用程序在未来的发展,我正试图保持一个干净的代码库,并清晰地划分各个层,domain-driven-design,Domain Driven Design,我遇到的问题是何时何地加载在另一个模块的对象中引用的聚合根。(我在这里使用的是Eric Evans在DDD书中使用的“模块”一词。) 我目前有一个名为Client的简单对象,它位于ClientModule模块中。在PermitModule中,我有一个Permit对象。(实际情况更复杂,但为了简单起见,我将坚持使用这两个对象,因为它们是聚合根)Permit对象将客户机引用为申请人。这是我的领域模型 自下而上,我有一个基础架构层,它包含O/R映射类和存储库对象的具体实现。所以我在这里有一个Clien

我遇到的问题是何时何地加载在另一个模块的对象中引用的聚合根。(我在这里使用的是Eric Evans在DDD书中使用的“模块”一词。)

我目前有一个名为
Client
的简单对象,它位于
ClientModule
模块中。在
PermitModule
中,我有一个
Permit
对象。(实际情况更复杂,但为了简单起见,我将坚持使用这两个对象,因为它们是聚合根)
Permit
对象将
客户机
引用为
申请人
。这是我的领域模型

自下而上,我有一个基础架构层,它包含O/R映射类和
存储库
对象的具体实现。所以我在这里有一个
ClientMapper
ClientRepositoryDb
permitmap
,和
PermitRepositoryDb

接下来是包含域模型(
Client
Permit
类)以及存储库接口
ClientRepository
PermitRepository
域层

在上面,我有一个应用层,然后是一个表示层,但在本例中这些并不重要

我的问题是
是否允许
客户机
之间的关系加载到
PermitMapper
类或
PermitPository
类中。或者有其他的方法吗


这不仅适用于加载对象,还适用于保存和删除对象。

我采用了映射器类完全加载自己的方法


我不是Java开发人员,但我想知道Hibernate(等人)是如何做到的?

嗨!我现在面临着完全相同的问题。你的方法最终是什么样子的?你到底做了什么?您的域对象如何获取数据?