sanfra1976 ha scritto:
Il Model ho capito che sarebbe il corrspettivo Data Access Layer, Il view è il corrispettivo della Presentation,ma il Controller che cosa sarebbe il Business Logic Layer?
Non esattamente. Volendo fare un'analogia con un 3-layer (o n-layer, cambia poco) diciamo che il presentation layer tipicamente usato dalle web forms viene ulteriormente separato in due livelli: view e controller, mentre il model contiene/utilizza gli strati sottostanti (tipicamente business logic e data access). Se ci pensi bene non è così assurdo suddivedere il presentation layer in due parti perché un conto è produrre un output html, un altro è processare l'input dell'utente (url, parametri in get/post, ecc.); la separazione tra markup e codebehind offerta dalle web form di asp.net non è da questo punto di vista sufficiente perché mantiene questi due aspetti ancora troppo coesi. Il maggior vantaggio di MVC è proprio la separazione tra view e model, ovvero tra logica applicativa vera e propria e visualizzazione dei dati.
Questo per parlare di pattern in senso astratto, se invece ci riferiamo all'implementazione di MVC per ASP.NET abbiamo una serie di altri vantaggi (e qualche svantaggio) rispetto all'uso delle web forms, a partire dal controllo completo dell'html generato.
HTH
Update: dimenticavo di aver affrontato l'argomento anche nel blog, prova a dare una lettura a questo:
http://blogs.aspitalia.com/matteo/post2318/3Tier-3Layer-MVC-Cosa.aspx
Modificato da m.casati il 01 luglio 2009 20.22 -