(MVC) A way of partitioning the design of interactive software; a software architecture pattern. The "model" is the internal workings of the program (the data objects and 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. MVC was the original kind of what is now sometimes called an MV* pattern. Trygve Reenskaug introduced it into Smalltalk-76 while visiting Xerox PARC in the 1970s.