(MVC) A way of partitioning the design of interactive
software. The "model" is the internal workings of the program
(the
algorithms), the "view" is how the user sees the state
of the model and the "controller" is how the user changes the
state or provides input.