Introduction:
In this article,i am going explain about the architecture of model-view-pattern,
and how we can use this pattern in asp.net applications.
Main:
Why MVC?
Model-view-controller, or MVC in short, is a design pattern used in software engineering.
The main purpose of this design pattern is to isolate business logic from the user interface,
in order to focus on better maintainability, testability, and a cleaner structure to the application.
The MVC pattern consists of three key parts: the model, the controller, and the view.
Model
The model consists of some encapsulated data along with its processing logic, and is
isolated from the manipulation logic, which is encapsulated in the controller. The presentation logic
is located in the view component.
The model object knows all of the data that needs to be displayed. It can also define some operations
that manipulate this encapsulated data. It knows absolutely nothing about the graphical user interface—it
has no clue about how to display data or respond to actions that occur in the GUI. An example of a model
would be a calculator. A calculator contains data (a numeric value), some methods to manipulate this data
(add, subtract, multiply, and divide), and a method to retrieve the current value from this model.
View
The view object refers to the model. It uses read-only methods of the model to query and retrieve data.
It can look like an HTML page, a Windows GUI, or even the LED display of a physical calculator. In our
example of the calculator, the view is the display of the calculator, which receives model data (the
current calculation result) from the controller.
Controller
The controller object is the interaction glue of the model and the view. It knows that
the model expects actions such as add, subtract, multiply, and divide, and also knows that the GUI will
send some events that may require these operations to be called. In the calculator example, clicking on
the “+” button on the view will trigger the controller to call the add method on the model and re-render
the view with the data updated if necessary.
we can say controler simply controlling the user actions,

Main Advantages while comparing asp.net web forms,
Complexity of application logic is made easier to manage because of the separation of an application into model, view, and controller.
It allows for easier parallel development; each developer can work on a separate component of the MVC pattern.
It provides good support for TDD, mocking, and unit testing frameworks. TDD enables you to write tests for an application first,
after which the application logic is developed. TDD, mocking, and unit testing,
It does not use ViewState or server-based forms, which allows you to have full control over the application’s behavior and HTML markup.
It uses RESTful interfaces for URLs, which is better for SEO (Search Engine Optimization). REST is short for REpresentational State Transfer—the concept of using URLs as the link to a resource, which can be a controller action method, rather than to physical files on the web server.
A typical page size is small, because no unnecessary data is transferred in the form of hidden ViewState data.
It integrates easily with client-side JavaScript frameworks such as jQuery or ExtJS.
Conclusion:
Hope this helps,
Happy coding.
Excellent content. Thanks for posting.