Matheus Castiglioni

Aviso

A partir de 10/02/2022 o blog foi descontinuado em favor ao meu canal no youtube, ou seja, não haverá novas publicações.

Irei dedicar e focar exclusivamente no meu canal para criação e compartilhamento de conteúdo, se você tem interesse em continuar me acompanhando peço por favor que se inscreva no canal.

Arquitetura MVC

Dando ínicio à uma série de post’s sobre estilos de arquitetura, nesse primeiro vamos dar uma olhada no estilo MVC.

Um estilo de arquitetura é uma forma de definir os componentes e elementos sobre os blocos de construção de um software, ou seja, como o mesmo será construído (iremos falar sobre isso em post’s futuros).

Estilo MVC

O estilo MVC é um estilo de arquitetura baseado em três camadas principais, sendo:

Topologia

A topologia desse estilo de arquitetura pode ser representada da seguinte forma:

Topologia da arquitetura MVC

Basicamente cada sistema irá ser composto por essas três camadas (como descritas anteriormente). Um exemplo de fluxo real seria:

  1. Uma pessoa acessa alguma página do nosso sistema.
  2. Esse acesso irá disparar uma operação de negócio para o sistema.
  3. Cada operação de negócio é mapeada para uma rota (endpoint) no sistema.
  4. Para cada rota é anexada uma ação de um controlador.
  5. As ações dos controladores utilizam os modelos para recuperar e persistir informações.
  6. As informações são repassadas para as páginas.
  7. As páginas são renderizadas.

Exemplo do fluxo:

Fluxo de uma arquitetura MVC

Avaliações das características arquiteturais

Cada estilo de arquitetura possuí uma série de características arquiteturais, um estilo favorece uma característica A e desfavorece uma característica B. Outro estilo favorece B e desfavorece A, etc… Já falamos sobre tais características arquiteturais.

Para que não seja necessário avaliar todas as possibilidades vamos emprestar a tabela de avaliações citada em Fundamentos da arquitetura de sistemas (existem várias outras características não cobertas pela tabela) onde vamos avaliar algumas essenciais e principais.

No meu ponto de vista dei as seguintes notas para cada característica (troquei as estrelas por números de 0 à 5):

Características arquiteturaisAvaliação (0-5)
Tipo de particionamentoTécnico
Numéro de quantas1
Deploiabilidade1
Elasticidade1
Evolução2
Tolerança à falhas1
Modularidade2
Custo geral5
Performance2
Confiabilidade2
Escalabilidade1
Simplicidade5
Testabilidade3

Obs: Não se preocupe com “tipo de particionamento” e “número de quantas”, iremos ver mais sobre ambos em post’s futuros.

Conclusão

Nesse post demos início em uma série sobre estilos arquiteturais e para começar falamos sobre o estilo de arquitetura MVC (Model, View, Controller).

Os post’s serão mais focados em teoria, ou seja, irão apresentar e trazer os conceitos. Se você quer algo mais prático fique de olho no meu canal do Youtube onde os estilos de arquiteturas serão implementados na prática.

Abraços, até a próxima.

Matheus Castiglioni

Matheus Castiglioni

Apaixonado pelo mundo dos códigos e um eterno estudante, gosto de aprender e saber um pouco de tudo, aquela curiosidade de saber como tudo funciona, tento compartilhar o máximo de conhecimentos adquiridos e ajudar todos aqueles que sou capaz.

comments powered by Disqus