Ir para o conteúdo

Padrões Emergentes

Padrão Middleware

O que é Middleware?

  O middleware é representado por uma pipeline de processamentos onde existem funções pré-definidas que são as handlers, units e filters. Essa funções são conectadas entre si, assim gerando processamentos assíncronos que permite que essa funções façam um pré-processamento de qualquer um dos tipo de dados, podemos ver na Figura 1.

Figura 1 : Exemplo do middleware

Aplicação do Middleware no Curumim

   Nossa aplicação usa uma biblioteca bem conhecida no mundo do node.js, que é o express, que ele trata as requisições de maneira mais simples. Por padrão o middleware já vem implementado no express, se tratando de intercepting filter pattern do chain of responsibility.

Figura 2 : Exemplo do uso express para requições

MVC

Figura 3 : Middle sendo usado para autenticação de usuário

Padrão MVC

O que é MVC?

  O mvc é um dos padroẽs arquiteturais mais famosos no mundo de desenvolvimento web, visto pela sua simplicidade organizacional, assim trazendo mais eficiência e otimização no tempo de velocidade feita em requisições pelo usuário. Com quase 5 décadas de formulação a arquitetura mvc é basicamente dividida em 3 camadas, Model, View e Controller.

  • Model: Essa camada também é conhecida como business object model, ela é a principal responsável pelas leituras e escritas de dados e principalmente pela validações;

  • View: Camada de interface de uso da aplicação por parte do usuário, é a camada que ele interage e recebe informações de forma visual;

  • Controller: A controller é responsável por fazer o intermédio das requisições da view com as respostas da model.

MVC

Figura 4 : MVC

Aplicação do MVC no Curumim

  Para o projeto Curumim foi adaptado o padrão MVC, essa decisão foi tomada por se tratar de um padrão de API REST, pensando nisso o grupo optou por separar a camada de view dentre as outras, assim a View é determinada pelo no client que faz essa renderização para o usuário da aplicação.

Figura 5: Organização das pastas da API

Figura 6: Exemplo da model User

Authentication Controller

Figura 7: Exemplo da controller

Bibliografia

Versionamento

Versão Data Modificação Autor
1.0 20/09/2021 Abertura do documento Francisco
1.1 20/09/2021 Adicionando imagens Francisco
1.2 20/09/2021 Adicionado padrão MVC Bruno Felix e Francisco Ferreira
1.3 20/09/2021 Adicionado padrão middleware Bruno Felix e Francisco Ferreira
1.4 20/09/2021 Revisando documento Nilo Mendonça e Enzo Gabriel