поток нескольких экземпляров магазина
В приложении потока, где данные делятся на сегменты по идентификатору владельца, следует ли нам использовать одно хранилище, которое внутренне разделяет данные на сегменты, или один экземпляр хранилища для каждого сегмента?
Например, у нас есть пользователь приложения, который является тренером для нескольких спортсменов. У каждого тренируемого спортсмена есть ноль или более тренировок, и тренер может просматривать тренировки одного или нескольких спортсменов одновременно.
У нас может быть один тренировочный магазин для всех спортсменов; хранилище должно гарантировать, что все данные разделены на сегменты атлетов, а для каждого метода хранилища требуется параметр athleteId.
Или мы могли бы иметь один экземпляр магазина на идентификатор спортсмена. Это упрощает логику хранилища и сигнатуры методов, но тогда нам приходится управлять большим количеством экземпляров хранилища.
У кого-нибудь есть опыт с этим подходом? Есть ли плюсы или минусы в том или ином случае? Или какой путь «поток потока» и почему?