Discussão do artigo "Padrão de design MVC e a possibilidade de usá-lo"

 

Novo artigo Padrão de design MVC e a possibilidade de usá-lo foi publicado:

Este artigo falará sobre um padrão MVC comum, bem como sobre os prós e os contras de seu uso em programas MQL. Seu propósito é o de "dividir" o código existente em três componentes separados: Modelo (Model), Visualização (View) e Controlador (Controller).

Neste artigo, iremos focar no "MVC clássico", sem complicações e funcionalidades adicionais. Seu propósito é o de "dividir" o código existente em três componentes separados: Modelo (Model), Visualização (View) e Controlador (Controller). A essência do padrão MVC é que esses três componentes podem ser desenvolvidos e mantidos independentemente um do outro. Um grupo separado de desenvolvedores pode trabalhar em cada componente, iniciar novas versões, corrigir bugs. É bastante óbvio que, neste caso, torna-se muito mais fácil trabalhar num projeto comum, sendo que pode ser mais rápido e fácil entender o projeto de outra pessoa.

Vamos dar uma olhada no que cada componente é individualmente.

  1. Visualização (View). A Visualização é responsável pela parte visual. De forma mais geral, ele envia dados ao usuário. Reparemos que, na realidade, pode haver várias maneiras de apresentar dados ao usuário. Por exemplo, os dados podem ser representados por uma tabela, gráfico ou diagrama ao mesmo tempo. Em outras palavras, pode haver várias Visualizações num único aplicativo construído com base no esquema MVC. As Visualizações recebem dados do modelo sem ter nenhuma ideia do que está acontecendo dentro do Modelo.
  2. Modelo (Model). O Modelo contém dados. Ele estabelece comunicação com bases de dados, envia consulta para a rede, para outras fontes. Ele modifica os dados, valida-os, armazena-os e exclui-os. O Modelo não sabe nada sobre como funciona a Visualização e quantas estão disponíveis, mas possui as interfaces necessárias através das quais elas podem solicitar dados. As Visualizações não podem fazer mais nada - elas não podem forçar o Modelo a mudar seu estado. Isso é feito pelo Controlador. Internamente, um Modelo pode ser composto por vários outros, organizados numa hierarquia ou funcionando igualmente. Nesse sentido, nenhuma restrição é imposta ao Módulo, exceto as já mencionadas - o Modelo mantém sua estrutura interna secreta da Visualização e do Controlador.
  3. Controlador (Controller). O Controlador estabelece a comunicação entre o usuário e o Modelo. O Controlador não sabe o que o Modelo está fazendo com os dados, mas pode dizer a este que é hora de atualizar o conteúdo. Em geral, o Controlador, por sua interface, trabalha com o Modelo, sem tentar entender o que está acontecendo dentro dele.

Visualmente, a relação entre os componentes individuais do padrão MVC é algo assim:

Autor: Andrei Novichkov