15
votes

Other than the fact that ASP.NET MVC Web Application has more clarity in its implementation of the MVC pattern and that it strictly follows the MVC pattern, how is it different from ASP.NET Web Application?

If you make your ASP.NET Web Application have a Business Logic Layer, Data Access Layer and strictly make all data queries using them, then does'nt it completely follow the MVC pattern?

My logic here is: the BLL & DLL together is the Model, the ASPX page is the View and the code-behind (ASPX.CS) page is the Controller.

Thanks in advance to anyone who can confirm the above and/or shed more light on the subject.

2

2 Answers

3
votes

It takes a bit more experience, discipline and work to design an ASP.NET MVP Web Application so that your application supports test automation. When you can slap an advanced GridView onto a page along with a SqlDataSource and bind it directly to a stored procedure you throw your test automation out the window.

A lot of MVP applications are written using 3rd party toolkits that encapsulate a lot of the codebehind logic. That tends to muck up your clean separation of responsibilities in a MVP design.

On the plus side I can write an ASP.NET Web Application with a rich UI using a 3rd party toolkit in a 10th of the time I can with MVC in it's current state. For a simple admin tool that's exactly what I would do today. For a large scale n-tier application I would lean towards MVC.