- +

MODEL-VIEW-CONTROLLER PROGRAMMING

MODEL
a software abstraction that represents the "internal state" or "functionality" of the program.
VIEW
presents some part of the model's state to the user (typically on-screen, but could be done with sound, speech etc.)
CONTROLLER
provides a way to modify the state of the model.