Model-View-Controller. In programming you, have a "model" of your data-structures and functions. A "controller" that does binds them as a process or program, and an interface or "view" (GUI, command-line, API, etc) for human interaction .
according to...