Controllers
Versionamento
Data | Versão | Descrição | Autor |
---|---|---|---|
29/03/2021 | 1.0 | Criação do documento | Victor Levi |
01/04/2021 | 2.0 | Adição dos conceitos e da aplicação no projeto | Lucas Lopes |
09/04/2021 | 3.0 | Adição do link para o backend | Lucas Lopes |
O que são padrões de projeto
Design Patterns ou padrões de projetos são soluções generalistas para problemas recorrentes durante o desenvolvimento de um software. Não se trata de um framework ou um código pronto, mas de uma definição de alto nível de como um problema comum pode ser solucionado. Desigin Patters é um template (modelo) de como resolver um problema que pode ser usado em muitas situações diferentes.
Sendo assim, padrões de projetos podem representar um bom ganho de produtividade,organização e manutenção de projetos, pois os padrões se baseam em baixo acoplamento entre classes e as padronizações do código.
O que é o GRASP?
O GRASP consiste em diretrizes para atribuir responsabilidade a classe e objetos em padrões orientados a objetos. Há diversos padrões e príncipios utlizados no GRASP, alguns deles aplicados ao projeto foram:
Controlador
O padrão controlador atribui a responsabilidade de lidar com um evento do sistema. Esse evento pode representar o cenário global ou cenário de caso de uso. Este padrão, funciona como uma camada de indireção para eventos do sistema. Deixando os eventos gerados pela Interface desacoplados dos objetos responsáveis por tratar a requisição, tornando o sistema mais flexível de de fácil manutenção.
Aplicação no projeto:
Para o tratamento das regras de négocio, foram utilizados os controllers, que são os responsáveis por receber e tratar dados das requisições. Cada controller trata somente as requisições específicas. No exemplo abaixo, é o controller de login na aplicação.
Vantegens ao utilizar o Controller:
Possibilidades de reutilização das classes
Possibilidades de interfaces “plugáveis”
Conhecimento do estado do caso de uso
Manter um estado de um caso de uso durante uma sequência de operações.
Referências
Controller – Padrões GRASP. Disponível em: https://www.ramonsilva.net/post/controller-padr%C3%B5es-grasp. Último acesso em 01/04/2021
GRASP: Designing Objetos com Responsabilidades - MC 426 IC Unicamp – M. Cecilia C. Baranauskas - https://www.ic.unicamp.br/~ariadne/mc436/1s2017/Lar16GRASP.pdf. Último acesso em 01/04/2021
Desenvolvimento com qualidade com GRASP. Disponível em: https://www.devmedia.com.br/desenvolvimento-com-qualidade-com-grasp/28704. Último acesso em 01/04/2021