Есть много способов организовать ваши контроллеры и представления. Я обычно создаю контроллер для каждого полного просмотра.
Основной комментарий, который я имею здесь, о модели. Мне не нравится помещать код модели в папку моделей веб-проекта mvc, если они не являются моделями представления или каким-то образом напрямую связаны с веб-уровнем моего приложения и не применимы к не веб-контексту. На мой взгляд, вам лучше поместить такие вещи, как классы домена, службы репозиториев и т. Д., В отдельную сборку или группу сборок. Таким образом, вы можете поменять интерфейс с помощью Silverlight или другой технологии и продолжать использовать свой основной код домена. Это не только полезно для замены внешних интерфейсов, что иногда встречается редко, но вы можете использовать dll основного домена для пакетных файлов или утилит командной строки, если вам когда-либо понадобится выполнять операции пакетного типа вне контекста вашего сайта.