Model-View-Controller (MVC) é um padrão de arquitetura de aplicações que divide a aplicação em três camadas, conforme indicado na figura, e tem a finalidade de ser utilizado como arquitetura para aplicativos desktop, mas que se popularizou para uso em sistemas web, a partir da adesão de milhares de frameworks de mercado.

A seguir, são listadas três funções dessas camadas.
I. Responsável por tratar as regras de negócio.
II. Responsável por validar as requisições dos usuários de acordo com as regras de autenticação e autorização.
III. Responsável por usar as informações modeladas para produzir interfaces de apresentação conforme a necessidade.
As funções listadas em I, II e III são de responsabilidade, respectivamente, das camadas: