Model-View-Controller (MVC) :
MVC is an architectural design principle that separates the components of a Web application. This separation gives us more control over the individual parts of the application. MVC is a part of .net Web Application Framework. However, it is straightforward to map these concepts into the domain of multi-tier enterprise applications. By using MVC a software developer can create a web application as a composition of three roles:
1. Model: The model contains the core information for an application. This includes the data and validation rules as well as data access and aggregation logic. The model represents enterprise data and the business rules that govern access to and updates of this data. Often the model serves as a software approximation to a real-world process, so simple real-world modeling techniques apply when defining the model. A model represents the state of a particular aspect of the application. Frequently, a model maps to a database table with the entries in the table representing the state of the application.
2. View: The view encapsulates the presentation of the application, and in ASP.NET this is typically the HTML markup. It is the view's responsibility to maintain consistency in its presentation when the model changes. This can be achieved by using a push model, where the view registers itself with the model for change notifications, or a pull model, where the view is responsible for calling the model when it needs to retrieve the most current data.
3. Controller: The controller translates interactions with the view into actions to be performed by the model. The controller contains the control-flow logic. It interacts with the Model and Views to control the flow of information and execution of the application.
This separation of entity allows us to have agility and flexibility in building and maintaining our application. ASP.NET MVC brings the power of this development pattern to ASP.NET development, allowing us to use our .NET development skills to build MVC applications.