> зачем все это?
Если вам не нужно — не используйте. Я обычно прекрасно обхожусь без всего этого, за исключением NLog, т.к. сделать правильное логирование — та еще задача.
> Опять же — неужели нельзя обойтись без этого простыми методами?
Вы не раскрываете, что для вас простые методы. Если это WebForms со всей логикой в code-behind, то какие у вас объемы проектов и сколько над ними работает людей? Когда вы потеряетесь в лапше кода, вы обнаружите, что для WebForms рекомендован другой паттерн
MVP.
> Простой проект MVC — это около десятка папок, пять конфигов, куча контроллеров
Неправда. Открываю солюшн: около 15k LOC (это немного, но и не HelloWorld), в веб-проекте только стандартные папки: Controllers, Views, Models. Куча контроллеров как правило ссодержит в себе мизерное количество кода, по сравнению с нижними слоями.
> MVC — круто, наворочено, универсально — но проигрывает по сравнению с тем же PHP по многим пунктам
Вы сравниваете апельсины с яблоками, MVC — это паттерн, PHP — язык. И на дотнете тоже можно писать в стиле Response.Write, и для PHP есть десятки MVC-фреймворков.
Если для вашей задачи не подходит MVC-паттерн, ну так существует масса других. Если вас напрягает количество контроллеров, есть разновидность MVC —
Front Controller, и даже реализация для дотнета:
FubuMVC,
> И как можно вникнуть в технологию, чтобы применять её на практике, если через пару лет появляется более новая технология или в корне меняется старая
Почитайте Фаулера, все эти абстракции стандартны и почти везде одинаковы.
> Фреймворки, расширения, море технологий… для чего они?
У разных задач — разные решения. Для того, чтобы был выбор.
> Как остаться нормальным программистом не на задворках, не потерять хватку и не теряться во всем этом?
Подтяните матчасть: начните с
Фаулера, по вкусу добавьте
Мартина. Сами решите, что вас устраивает, а что — нет.
В заключение хочу сказать, что на MVC свет клином не сошелся. Существует масса альтернативных паттернов и их реализаций для дотнета: Nancy, OpenRasta, FubuMVC, Manos, ServiceStack…