GoF Decorator


Histórico de versão

Data Versão Descrição Autor(es)
07.04.2021 0.1 Criação do documento Isabella Carneiro
Damarcones Porto
Bruna Almeida
Lucas Lopes
Rafaella Junqueira
07.04.2021 1.0 Adição do diagrama UML Isabella Carneiro
Damarcones Porto
Bruna Almeida
Lucas Lopes Rafaella Junqueira

Participantes

  • Isabella Carneiro
  • Bruna Almeida
  • Rafaella Junqueira
  • Damarcones Porto
  • Lucas Lopes

Introdução

O Padrão Decorator anexa responsabilidades adicionais a um objeto dinamicamente. Os decoradores fornecem uma alternativa flexível de subclasse para estender a funcionalidade


Metodologia

A documentação deste padrão foi realizada em conjunto por meio de reunião virtual utilizando a plataforma Discord e para a modelagem utilizou-se a ferramenta Lucidchart.


Aplicação no projeto

No trecho de código a seguir podemos notar algumas aplicações do padrão Decorator no projeto, como por exemplo o @RestController que utiliza um Decorator para transformar os dados vindo via http para o formato aplicattion/json e retorna json em suas respostas. Temos também o @RequestMapping que faz o mapeamento das rotas, @Autowired que marca um campo que será uma instancia gerenciada pelo sistema do spring e o @PostMapping que é uma notação utilizada para mapear verbos no http do tipo POST.


Figura 1 - Representação do padrão Decorator


Modelagem UML

O diagrama UML representa a forma como o padrão está sendo empregado no projeto, exemplificando o uso do @RequestMapping


Figura 2 - Representação do RequestMapping
Autores: Isabella Carneiro


Referências

DevMedia, Padrão de Projeto Decorator em Java. Disponível em https://www.devmedia.com.br/padrao-de-projeto-decorator-em-java/26238