Model-View-Controller (MVC) is the name of a design pattern for separating logical functioning (model), user presentation (view), and input processing (control) into separate layers. Commonly applied in GUI design, the pattern is quite generic and independent of implementation.