Model-view-controller (
MVC), em português
modelo-visão-controlador, é um padrão de arquitetura de software (
design pattern) que separa a representação da informação da interação do usuário com ele. O
modelo (
model) consiste nos dados da aplicação, regras de negócios, lógica e funções. Uma
visão (
view) pode ser qualquer saída de representação dos dados, como uma tabela ou um diagrama. É possível ter várias visões do mesmo dado, como um gráfico de barras para gerenciamento e uma visão tabular para contadores. O
controlador (
controller) faz a mediação da entrada, convertendo-a em comandos para o modelo ou visão. As ideias centrais por trás do MVC são a
reusabilidade de código e
separação de conceitos.