Я работаю над списком причин, по которым моя команда переместилась из webforms в MVC, и я подумал, что хорошее место для начала было показано, "почему мы должны мигрировать" с набором вещей, которые классические asp и webforms имеют в общее.
Например:
Spagetti Code (нарушение SRP)
Классический ASP - каждый файл .asp был похож на большой шар грязи
Webforms - этот большой шар грязи перешел от взгляда к печально известному "codebehind"
Имейте в виду, что мои разработчики не являются типом для реализации чего-то вроде MVP без ввода, и это часть причины, по которой мне нравится MVC (хотя сохранение тонких контроллеров будет учебным опытом)
Обновление Я знаю, что вы можете создать беспорядок на любом языке на любой платформе. Я также знаю, что MVC не решит этого. Я также знаю, что нужно провести какое-то настоящее наставничество, чтобы заставить команду писать беспорядок, чтобы понять, почему это трудно поддерживать. Но я считаю, что эта возможность позволяет мне выражать потребность в SOC/Responsible Driven Design/Testability/и т.д.
О написании более удобного программного обеспечения с веб-формами: по моему опыту внедрение шаблона представления, такого как MVP в веб-формах, для уважения SRP/увеличения ремонтопригодности/включения модульного тестирования /etc - это намного больше работы, чем использование MVC из коробки (и вы получаете те же результаты). Это работает - да, и я имел успех с этим подходом в прошлом. Но если бы я мог вместо этого использовать гораздо более естественный подход к веб-разработке, который был испечен на платформе, я бы это сделал.
Я искал, чтобы кто-то указывал на то, что средний 9-5 разработчик "хотел" уйти от того, когда писал классический asp, но после того, как они попали в веб-формы, с которыми никогда не сталкивались. (снова - большинство разработчиков, с которыми я работаю, просто взяли беспорядок, в котором они жаловались в классическом asp, и переместили его в код позади и "подумали", что это был шаг в правильном направлении).