Я нашел несколько вопросов о моделировании отношений «многие ко многим», но ничего, что помогло бы мне решить мою текущую проблему.
Сценарий
Я моделирую домен с User
s и Challenge
s. У задач много пользователей, а пользователи принадлежат многим задачам. Проблемы существуют, даже если у них нет пользователей.
Достаточно просто. Мой вопрос немного усложняется, поскольку пользователи могут быть ранжированы в задании. Я могу хранить эту информацию по вызову, как набор пользователей и их ранг - опять же не по зубам.
Вопрос
Какую схему следует использовать, если я хочу запросить индивидуальный рейтинг пользователя в вызове (без получения рейтинга всех пользователей в вызове)? На данном этапе мне все равно, как я делаю вызов доступа к данным, я просто не хочу возвращать сотни точек данных ранга, когда мне нужна только одна.
Я также хочу знать, где хранить информацию о рейтинге; такое ощущение, что это зависит как от пользователя, так и от задачи. Вот что я рассмотрел:
Очевидное: при создании экземпляра
Challenge
просто получить всю информацию о ранге; медленнее, но работает.Создайте составной
UserChallenge
объект, но это похоже на нарушение домена (мы не говорим о проблемах пользователей).Третий вариант?
Я хочу пойти с номером два, но я недостаточно уверен, чтобы знать, действительно ли это подход DDD.
Обновлять
Я полагаю, я мог бы назвать UserChallenge
как-то более подходящим для домена, например, Rank
, UserRank
или что-то в этом роде?