Model View Control (MVC) is an architectural pattern used to develop Java Enterprise Applications. The application is divided into three components: Model, View, and Controller. The model component comprises the business logic of the application. The Controller receives data and calls model objects based on the mapping by the handler. The View component is responsible for the UI interface of the application. Model View Presenter (MVP) is derived from the Model View Controller architecture. It adds an additional layer of indirection to the architecture, dividing the View and Controller to View and Presenter. The presenter level is situated at the same level as View in MVC architecture.