На этот раз у меня есть более философский вопрос.
Большинство учебных пособий / книг по MVC, по-видимому, предлагают ограничить область действия одного репозитория одним аспектом модели и настроить несколько репозиториев, чтобы охватить все классы модели. (Например: ProjectRep, UserRep, ImageRep, все в конечном итоге отображаются на один и тот же БД.)
Я вижу, как это упростит тестирование юнитов, но я не представляю, как это будет работать в реальном мире, где большинство сущностей имеют отношения друг с другом. В конце концов, я всегда оказываюсь с одним гигантским классом репозитория на соединение с БД и столь же неудобным FakeRepository для тестирования юнитов.
Итак, что ты думаешь? Должен ли я стараться отделить хранилища? Имеет ли значение, что ProductRep ссылается на данные в UserRep, и наоборот, через PurchaseHistory? Как разные представители будут уверены, что они не блокируют друг друга при доступе к единой базе данных?
Спасибо,
Duffy