Я читал кое-что о ASP.NET MVC, SOLID и т. д., И я пытаюсь придумать простой «рецепт» для малых и средних приложений ASP.NET MVC, которые объединят эти концепции; Проблема, которая меня больше всего беспокоит, заключается в том, что контроллеры становятся слишком сложными и похожи на файлы кода программной части в веб-формах со всеми типами бизнес-логики в них.
Я рассматриваю следующую архитектуру для небольшого приложения, управляемого данными:
IRepository<T>, использовать внедрение зависимостей, и именно там будет находиться мой код db; получает и возвращает только POCO.Я рассматриваю возможность использования служб между контроллерами и моделями, но если они будут просто передавать вызовы методов пересылки, я не уверен, насколько это было бы полезно.
Наконец, должны быть модульные тесты, охватывающие код модели, и модульные + интеграционные тесты, охватывающие код репозитория (если возможно, следуя «красно-зеленой» практике)
Мысли?





Иэн Купер недавно написал об этом хороший пост:
Эти пошаговые руководства весьма полезны:
Платформа MVC и структура приложения
Пошаговое руководство: создание базового проекта MVC с модульными тестами в Visual Studio
См. Также: Aspnet-MVC-структурирование-контроллеры
Роб Конери имеет лучший ответ IMO.
Обратите внимание на его Приложение витрины MVC, который идет в комплекте с исходный код и видеоуроки.
другая проблема заключается в том, что в последних двух эпизодах он в основном говорит «ага» обо всем проекте, затем говорит о DDD, удаляет свой уровень обслуживания, затем удаляет исходный код codeplex и создает новый, другой проект, который он называет Kono.
Простой рецепт: (Посмотреть) уровень представления с использованием ASP.NET, (контролер) уровень скрытого кода или уровень служб AJAX, (модель) уровень служб приложений, уровень бизнес-модели и уровень сохраняемости / доступа к данным.
Конечно, вы можете нарезать кубиками множество способов справиться со сложностями, чтобы создать четко читаемое и понятное приложение.
Для недавнего обсуждения этой темы, которое я считаю очень хорошим, ознакомьтесь с этой недавно опубликованной книгой: Microsoft .NET: разработка приложений для предприятий.
Особенность видео Роба Конери в том, что для тех, кто не следил с самого начала, сейчас это как 30 часов видео ... непросто. Еще одна проблема с форматом видео - это возможность поиска. Я бы хотел, чтобы он сделал это через сообщения в блоге.