2015-05-02 23:49:33 +03:00

35 lines
1.5 KiB
Java

package com.iluwatar;
/**
*
* Model-View-Controller is a pattern for implementing user interfaces. It divides the application
* into three interconnected parts namely the model, the view and the controller.
*
* The central component of MVC, the model, captures the behavior of the application in terms of its problem
* domain, independent of the user interface. The model directly manages the data, logic and rules of the
* application. A view can be any output representation of information, such as a chart or a diagram
* The third part, the controller, accepts input and converts it to commands for the model or view.
*
* In this example we have a giant (GiantModel) with statuses for health, fatigue and nourishment. GiantView
* can display the giant with its current status. GiantController receives input affecting the model and
* delegates redrawing the giant to the view.
*
*/
public class App {
public static void main( String[] args ) {
// create model, view and controller
GiantModel giant = new GiantModel(Health.HEALTHY, Fatigue.ALERT, Nourishment.SATURATED);
GiantView view = new GiantView();
GiantController controller = new GiantController(giant, view);
// initial display
controller.updateView();
// controller receives some interactions that affect the giant
controller.setHealth(Health.WOUNDED);
controller.setNourishment(Nourishment.HUNGRY);
controller.setFatigue(Fatigue.TIRED);
// redisplay
controller.updateView();
}
}