我发现了一些关于建模多对多关系的问题,但没有任何东西可以帮助我解决当前的问题。
设想
我正在建模一个具有User
s 和Challenge
s 的域。挑战有很多用户,用户属于很多挑战。挑战存在,即使他们没有任何用户。
很简单。我的问题变得有点复杂,因为用户可以在挑战中排名。我可以将这些信息存储在挑战中,作为一组用户和他们的排名——同样不是太难。
问题
如果我想查询用户在挑战中的个人排名(不获取挑战中所有用户的排名),我应该使用什么方案?在这个阶段,我不在乎如何调用数据访问,我只是不想在只需要一个时返回数百个排名数据点。
我也想知道在哪里存储排名信息;感觉就像它取决于用户和挑战。这是我考虑过的:
显而易见:实例化 a 时
Challenge
,只获取所有排名信息;较慢但有效。制作一个复合
UserChallenge
实体,但这感觉像是违背了领域(我们不会到处谈论“用户挑战”)。第三个选项?
我想选择第二个,但我没有足够的信心知道这是否真的是 DDD 方法。
更新
我想我可以称之为UserChallenge
更合适的领域,比如Rank
,UserRank
或者什么?