Предположим, вы должны разработать систему, доступность которой для сущностей и логики домена сильно зависит от контекста пользователя. Имеет ли смысл обрабатывать чувствительность пользовательского контекста в репозиториях, создавая индивидуальные контексты экземпляров конкретного репозитория? Я рассматриваю возможность использования этой методологии в качестве способа избавления от пользовательского контекста от моих сущностей, но я не уверен, есть ли какие-либо подводные камни, о которых я, возможно, не знаю, идя в этом направлении. Способ, которым я планирую приблизиться к этому, заключается в том, чтобы добавить параметр UserContext в конструкторы репозиториев, которым нужна эта контекстная информация. Другим очевидным вариантом будет подача информации о контексте пользователя в каждый метод запроса в моих репозиториях, но это, вероятно, означает, что для большинства всех методов потребуется такой параметр, который в свою очередь значительно увеличит многословие каждого вызова метода.
Также я хотел бы отметить, что я знаю, что даже если я хочу, чтобы пользовательский контекст хранилища понимал, что это не обязательно помогает напрямую, когда службе или сущности требуется эта же информация о пользовательских контекстах по таким причинам, как определение поведения на основе пользовательской конфигурации. Я также заинтересован в других решениях для этих случаев, но на данный момент я пытаюсь решить одну вещь за раз, поэтому сначала сосредоточусь на хранилищах.
Любые предложения будут оценены.