Domain driven design ddd-创建和重构实体的标识字段
我们正在学习DDD并评估其在由遗留系统和数据存储支持的系统中的使用 我们一直在使用反腐败层、泡沫上下文和有界上下文,但并不了解它们,这种方法对我们来说似乎非常实用 但我们对识别方法和身份相关性不确定也不自信。 旧式数据存储没有主键,而是使用复合唯一索引来标识信息 我们目前正在将模型创建为应该是实体的值对象(希望为每个实体添加“Long id”字段),或者我们很少将唯一索引中使用的属性组合用作id字段。我们似乎很清楚,实体模型应该有id字段 以下是我的具体问题:Domain driven design ddd-创建和重构实体的标识字段,domain-driven-design,bounded-contexts,Domain Driven Design,Bounded Contexts,我们正在学习DDD并评估其在由遗留系统和数据存储支持的系统中的使用 我们一直在使用反腐败层、泡沫上下文和有界上下文,但并不了解它们,这种方法对我们来说似乎非常实用 但我们对识别方法和身份相关性不确定也不自信。 旧式数据存储没有主键,而是使用复合唯一索引来标识信息 我们目前正在将模型创建为应该是实体的值对象(希望为每个实体添加“Long id”字段),或者我们很少将唯一索引中使用的属性组合用作id字段。我们似乎很清楚,实体模型应该有id字段 以下是我的具体问题: 理论上,我们希望我们闪亮的新实体
- 理论上,我们希望我们闪亮的新实体具有长id字段。现在不添加该字段可以吗,因为这没有给我们任何价值,因为后端数据存储不会填充或理解该字段
- 以DDD的方式存储标识信息并在稍后对其进行重构可以吗?希望数据存储能够根据我们的需要进行更改。
- 如果是这样的话,从实体中抽象出标识是否是一个好方法(我指的是可识别的接口,或者每个实体的KeyClass?——这里需要任何好的建议。)
- 这个问题可能不在DDD的范围之内,但我想知道标识重构是否会对系统的几个层造成影响(例如,RESTAPI可能会从/entity/id\u field/id\u field/id\u field更改为/entity/new\u long\u id)
- 我们如何将遗留信息用于我们日益完善的领域模型,从而减少识别工作的痛苦
- 或者在项目生命周期的任何时候都希望长id用于我们的领域,这是不好的、没有价值的吗
- 我们如何重构身份管理
- 身份管理是DDD的一个重要方面,还是一个可以重构的基础设施方面,所以我们不应该花更多的时间在它上面