我已经设置了一个使用 ORM 填充的域项目。域包含不同的聚合,每个聚合都有自己的根对象。我的问题是应该如何处理跨越聚合边界的属性?
- 这些属性是否应该简单地忽略边界,以便有界上下文 A 中的域对象引用上下文 B 中的对象?
- 或者,是否应该没有从上下文 A 到 B 的直接链接,并且上下文 A 中的对象是否具有“int ContextBId”属性,可用于通过 B 聚合根从 B 获取域对象?
- 或者 ...
示例:
上下文 A = 用户
上下文 B = 游戏
在Users
上下文中有一个对象UserOwnedGames
。该对象具有一个属性,该属性User
是对同一Users
上下文中对象的引用。该对象还具有 a 的属性,该属性Game
显然不在用户中,而是在Games
上下文中。
这种关系会(或应该?)如何?数据库中很清楚(即 2 个外键),但代码应该是什么样子?