MVC is well known architectural design pattern in the Enterprise Java world. The pattern creates a multitier architecture suitable for large scale computer application that handle large amounts of data and have a complex user interface.
The problem that the Model view controller pattern solves is the decoupling of data access and business logic from data presentation and user interaction. This way, changing the way data is handled and stored does not affect the presentation component, nor the way data is displayed affects the model.
The pattern makes a clear separation of objects in three categories:
- Model - contains the data handling logic as well as internal data representation
- View - data presentation, user interface
- Controller - event handling that affect the model and/or view(s)
In the case of Web applications, the View is actually the HTML page that the user sees. The controller is the code portion that interprets and dispatches the user requests to the model which may modify in return the internal data.
The MVC pattern is support in most languages designed for web applications via 3rd party frameworks: ASP .NET 3.5, PureMVC for ActionScript, Mach-II for ColdFusion, Struts for Java, Catalyst for Perl, a myriad of options of PHP, Python and Ruby
Comments