Мой предыдущий вопрос заставил меня снова подумать о слоях, хранилищах, вложениях зависимостей и архитектурных материалах, подобных этому.
Теперь моя архитектура выглядит следующим образом:
Сначала я использую EF-код, поэтому я просто создал классы POCO и контекст. Это создает db и модель.
Уровень выше - это классы бизнес-уровня (Провайдеры). Я использую другой провайдер для каждого домена... например, MemberProvider, RoleProvider, TaskProvider и т.д., И я делаю новый экземпляр своего DbContext у каждого из этих поставщиков.
Затем я создаю эти провайдеры в своих контроллерах, получаю данные и отправляю их в Views.
Моя первоначальная архитектура включала репозиторий, от которого я избавился, потому что мне сказали, что это просто добавляет сложности, поэтому почему я не просто использую только EF. Я хотел сделать это. Работая с EF напрямую от контроллеров, но мне приходится писать тесты, и это было немного сложно с реальной базой данных. Мне приходилось фальсифицировать данные. Поэтому я сделал интерфейс для каждого провайдера и сделал поддельные провайдеры с жестко закодированными данными в списках. И с этим я вернулся к чему-то, где я не уверен, как действовать правильно.
Эти вещи начинают слишком быстро усложняться... многие подходы и "pattterns"... он создает слишком много шума и бесполезного кода.
Есть ли ПРОСТОТА и проверяемая архитектура для создания приложения ASP.NET MVC3 с Entity Framework?