1) Трудно выполнить модульное тестирование со статическими классами (если вы тестируете класс, который зависит от вашего хранилища, вы хотите, чтобы этот тест работал против поддельного «поддельного» объекта хранилища вместо вашего реального)
2) Вы часто хотите иметь 1 экземпляр репозитория на запрос, чтобы упростить гарантию того, что несохраненные изменения от одного пользователя не испортят ситуацию для другого пользователя.