O que é o Model-View-Controller?

O Model-View-Controller (MVC) é um tipo de arquitetura de software e padrão de design que segmenta cada elemento de um programa em áreas bem definidas de funcionalidade. Na arquitetura de modelo-visualização-controlador, o modelo lida com toda a lógica interna do programa que manipula, salva, recupera e, de outra forma, manipula e calcula dados. O aspecto da visualização é responsável por exibir informações do modelo para o usuário e também fornece uma maneira de o usuário fornecer informações ao programa. O controlador pega a entrada da visualização, avalia ou a processa e interage com o modelo para alterar dados ou o estado do programa, o que é mostrado ao usuário através da visualização. Embora o design do modelo-visualizador-controlador exija um programa para encapsular a funcionalidade, as três seções ainda precisam interagir de alguma forma e geralmente dependem uma da outra em algum sentido, ao contrário de outros padrões de design mais agressivos.

Muitas vezes, o padrão de modelo-visualização-controlador é visto em aplicativos que gerenciam uma interface gráfica do usuário (GUI). Utilizando o padrão MVC, os diferentes elementos visuais da GUI são manipulados pela visualização, pelo registro e processamento de onde e em que um usuário clica é manipulado pelo controlador e, na verdade, a alteração das informações ou o carregamento das informações são feitas pelo modelo. Dependendo do design exato de um aplicativo, cada componente do padrão MVC pode ter um mecanismo para interagir com os outros componentes, como o modelo que pode instruir diretamente a exibição para atualizar a tela ou a exibição com uma maneira de informar o controlador que atualiza a tela e não aceita novas entradas. Ao contrário de alguns padrões de design que adotam uma abordagem estrita de caixa preta, os programas de controlador de exibição de modelo tendem a ser um pouco mais flexíveis, embora algumas implementações possam dificultar a alteração ou depuração modular de um programa MVC.

Em certos casos, o padrão model-view-controller não precisa conter apenas um de cada componente. Um exemplo é um aplicativo que possui várias visualizações, como vários monitores ou uma exibição que pode ser vista em vários dispositivos clientes. Várias visualizações e controladores podem ser usados ​​em um aplicativo que permite que muitos usuários acessem um banco de dados, todos respondendo a um único modelo. É mais comum, no entanto, projetar sistemas que mantêm uma proporção de um para um dos componentes do modelo-visualização-controlador.

Embora os componentes do controlador de exibição de modelo confiem um no outro, pode ser muito mais fácil modificar certas partes de um sistema que usam o padrão MVC do que se nenhum padrão fosse usado, especialmente no caso de orientação não-objeto aplicações. Se um aplicativo usar retornos de chamada ou ouvintes e observadores para implementar interações entre os componentes, cada componente poderá ser alterado sem afetar os outros dois. Isso significa que uma nova GUI pode ser implementada sem afetar o modelo ou o controlador. Deve-se notar, no entanto, que mudanças fundamentais em um sistema de controlador de exibição de modelo podem exigir uma pequena quantidade de recodificação para cada componente individual.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?