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