Software development is always subject to change, especially change the interface of the application code because the interface is the part that interacts directly with the user, and that is the fundamental to the user for ease of use applications. With the changes, it will display the potential for a change also in the other and it will make the system more complex and complicated. To solve the problem, Introduce an architecture or pattern called Model View Controller (MVC).
Model View Controller (MVC) is a pattern that can build more effective software project because it is done by sorting the components between the Model, View and Controller. By implementing MVC in building an application will impact on the ease of the application when the maintenance phase. Process development and integration became easier to do. The basic idea of MVC is actually very simple, which is trying to separate the model, view, and controller.
There are three main layers in the MVC architecture, which is referred to as bestpractices namely:
The model here serves as a representation of the data involved in the transaction process. Each time the method / function of an application need to make access to the data, then the function / method is not directly berinteaksi the data source but through the model first. In this case only the models that are allowed to interact directly with the source data.Secara short, this model layer handles the content of the application. The advantage with the model are:
a. The process of application maintenance
Placement details of data and operations in a given area so as not spread to the entire scope of the application.
b. Reusable Model
Reuse of application of the model by other applications due to the separation of the data interface.
View here acts as a presentation layer or controller user interface (view) for the user of an application. The data required by the user to be formatted in such a way that they can perform and be presented with a display format that is tailored to the user’s requirements. Layer so that it does not matter what the content was. For example, for Application Discount, this layer decides whether the shopping list will be displayed in a table, displayed to the command prompt, are presented in tables Swing, or exported to a text file. In addition, usually the layer view also served to validate the data entered by users. Excess of view are:
Facilitate the incorporation of design in the development team.
Availability of multiple interfaces in applications.
Controller here act as logic aspect of the application / user set flow. Controller will determine the bussiness process of the applications built. Controller will respond to any input from the user by calling the appropriate model and the view that the request / demand of the user can be fulfilled. Usually the controller layer is also used to set the access permissions and permissions. The advantages of the Controller are:
Component view can be designed without having to pay attention to other parts of the excess.
Clear separation between presentation logic and business logic.
Although many advantages of being owned by the MVC, but there are still a lot of side effects produced. These side effects are an increase in applications complexity so small that does not require loose coupling on the block barrier model in MVC pattern itself.