was introduced to software development before the World Wide Web came along. In
his early days, MVC was a design to easily implement complex GUI applications.
First created in Smalltalk, the major feature of MVC’s was that the View would
be notified automatically of all changes to the Model.
recently, MVC has been used on the web, even though the View is in the browser
and cannot be automatically updated when the Model changes in the web tier. Our
focus is entirely on the web version of MVC.
MVC pattern is equipped with providing a separation of layers or tiers that
applies well to web applications. Separation of layers enables developers to
manage the complex components of gigantic software systems by dividing them
into high-level components. The MVC design pattern divides web application into
three separate tiers: model, view, and controller.
The Controller is out front and is the key
component to act in the processing. The controller’s job is to map requests to
actions. In a web application, the incoming clients HTTP requests from the
browser can be thought of as commands that the user issues to the application.
One of the key concerns of a web application is routing these requests to the
required set of actions that needs to be taken within the application itself.
This controller’s work is very similar to a traffic cop or air traffic
controller. In other words, controller’s job is totally administrative.
The Model is a black box that contains the
guts of the application. The model represents the states and act as an entity
in itself. In software development notation, the model is the internal state of
the application. The state consists of both the data model and the business
logic. From the high-level view, the data and the business logic merge together
to form the state of the application. For example, if we want to log into an
application, both business logic and data from the DB will be involved in the
login process. It is very likely, that the authentication method is provided by
the business logic that will use the username and password and verify them
against some persisted data from the database. In this case, the data and the business
logic comprises together to form either a “authenticated” state or a
“unauthenticated” state .Neither the data on its own, nor the business logic on
its own, can produce these states. In simple terms, Model holds the real business logic and
the state which knows the rules for getting and updating state.
The View is the presentation component of
the MVC pattern; it’s the result which is returns as a page to the web browser.
This page is the user interface that presents a representation of the application’s
state to the user. These are commonly JSP pages, ASPX or other
presentation-layer technology. While there are plenty of options for the view,
the job of the view is very clear, it translates the state of the application
into a visual presentation with which the client would interact..