Piuttosto che fare una domanda generale su WebForms vs MVC (come in ASP.NET v / s ASP.NET MVC ), ho un questionario specifico.
Sembra che le principali differenze tra i due approcci siano
- WebForms è Event Driven e utilizza componenti predefiniti
- MVC ha un livello integrato che WebForms non ha: il modello
- MVC ha i controllori in una cartella separata rispetto alle viste mentre il controllore di WebForm è CodeBehind
Si potrebbe facilmente aggiungere una cartella a un progetto WebForm chiamato "Modello" che memorizza tutta la logica aziendale utilizzata nel codice sottostante (disaccoppiando i due). L'argomento principale contro WebForms è che è "facile" scrivere la logica di business nel CodeBehind. Ma potresti facilmente aggiungere la logica aziendale nel tuo controller MVC che viola completamente la separazione dei dubbi.
Ora per la domanda: non è il caso che tu possa scrivere un progetto WebForms in modo tale che la logica di business sia separata dal Controller / Code Behind che avrebbe tutti i vantaggi di MVC (separazione delle preoccupazioni) mantenendo i vantaggi di WebForms: controlli ricchi, eventi guidati (se ti piacciono gli eventi)?