Model View Controller (MVC) A way of partitioning the design of interactive software. The "model" is the internal workings of the program (the {algorithm}s), 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.