Мне интересно, как мне группировать свои репозитории? Как из примеров, которые я видел на asp.net mvc, и в моих книгах они в основном используют один репозиторий для каждой таблицы базы данных. Но это похоже на множество репозиториев, заставляющих вас впоследствии вызвать много репозиториев для насмешек и т.д.
Итак, я предполагаю, что я должен их сгруппировать. Однако я не уверен, как их группировать.
В настоящий момент я создал регистрационный репозиторий для обработки всех моих регистрационных материалов. Однако есть 4 таблицы, которые мне нужно обновить, и до того, как у меня было 3 репозитория для этого.
Например, одна из таблиц - это таблица лицензий. Когда они регистрируются, я просматриваю их ключ и проверяю его, чтобы увидеть, существует ли в базе данных. Теперь, что произойдет, если мне нужно проверить этот лицензионный ключ или что-то еще из этой таблицы в другом месте, кроме регистрации?
Одно место может быть логином (проверьте, не истекает ли ключ).
Итак, что бы я сделал в этой ситуации? Перепишите код еще раз (перерыв DRY)? Попытайтесь объединить эти 2 репозитория вместе и надеяться, что ни один из методов не понадобится в какой-то другой момент времени (например, возможно, у меня может быть метод, который проверяет, используется ли имя пользователя), возможно, мне понадобится это где-то еще).
Кроме того, если я объединю их вместе, мне потребуется либо 2 уровня обслуживания, идущих в один и тот же репозиторий, так как я думаю, что вся логика для двух разных частей сайта будет длинной, и мне нужно будет иметь имена типа ValidateLogin(), ValdiateRegistrationForm(), ValdiateLoginRetrievePassword() и т.д.
Или вызывать репозиторий в любом случае и просто иметь странное звучание?
Мне кажется, сложно создать репозиторий с достаточно общим именем, чтобы вы могли использовать его во многих местах вашего приложения и по-прежнему иметь смысл, и я не думаю, что вызов другого репозитория в репозитории будет хорошей практикой?