AngularJS - Arquitetura MVC
Model View Controller ou MVC, como é popularmente chamado, é um padrão de design de software para o desenvolvimento de aplicativos da web. Um padrão Model View Controller é composto das seguintes três partes -
Model - É o nível mais baixo do padrão responsável por manter os dados.
View - É responsável por exibir todos ou parte dos dados ao usuário.
Controller - É um código de software que controla as interações entre o modelo e a vista.
O MVC é popular porque isola a lógica do aplicativo da camada de interface do usuário e oferece suporte à separação de interesses. O controlador recebe todas as solicitações do aplicativo e, em seguida, trabalha com o modelo para preparar todos os dados necessários para a visualização. A visualização então usa os dados preparados pelo controlador para gerar uma resposta final apresentável. A abstração MVC pode ser representada graficamente como segue.
O modelo
O modelo é responsável por gerenciar os dados do aplicativo. Ele responde à solicitação da visualização e às instruções do controlador para se atualizar.
A vista
Uma apresentação de dados em um determinado formato, desencadeada pela decisão do controlador de apresentar os dados. Eles são sistemas de template baseados em script, como JSP, ASP, PHP e muito fáceis de integrar com a tecnologia AJAX.
O controlador
O controlador responde à entrada do usuário e realiza interações nos objetos do modelo de dados. O controlador recebe a entrada, valida-a e, em seguida, executa as operações de negócios que modificam o estado do modelo de dados.
AngularJS é uma estrutura baseada em MVC. Nos próximos capítulos, veremos como AngularJS usa a metodologia MVC.