GoF Singleton
Histórico de versão
Data | Versão | Descrição | Autor(es) |
---|---|---|---|
05.04.2021 | 0.1 | Criação do documento | Bruna Almeida Damarcones Porto Isabella Carneiro |
05.04.2021 | 1.0 | Adição do diagrama UML | Bruna Almeida Damarcones Porto Isabella Carneiro Lucas Lopes |
Participantes
- Bruna Almeida
- Damarcones Porto
- Isabella Carneiro
- Lucas Lopes
Introdução
O Padrão Singleton, que pertence à categoria dos Padrões Criacionais, tem como objetivo fornecer um ponto único de acesso à instância de um objeto, de modo que qualquer local da aplicação consiga acessá-lo. Para evitar uma redundância de criação e liberação de objetos, pode-se utilizar um Singleton: O objeto da classe será criado apenas uma vez e essa mesma instância será utilizada por todos os locais que a solicitarem. O singleton garante um ponto global de acesso ao seu objeto.
As vantagens de usar o Padrão Singleton incluem uma redução de processamento ao criar e liberar objetos constantemente, o que contribui para o desempenho do sistema; e, por representar um único objeto, é possível compartilhar dados entre telas.
As vantagens de usar o Padrão Singleton incluem uma redução de processamento ao criar e liberar objetos constantemente, o que contribui para o desempenho do sistema; e, por representar um único objeto, é possível compartilhar dados entre telas.
Metodologia
A documentação e modelagem do padrão Singleton foi desenvolvida a partir de uma reunião com alguns integrantes, na plataforma Discord. Além disso, o diagrama UML foi desenvolvido pelos integrantes através da plataforma Draw.io.
Aplicação no projeto
O projeto utiliza este padrão principalmente nas funcionalidades que necessitam de um tipo de autenticação. Nos exemplos a seguir estão implementadas as classes SpringFoxConfig e JwtAuthenticationEntryPoint, que envolvem segurança de acesso.
Modelagem UML
O diagrama UML representa a forma como o padrão está sendo empregado no projeto, exemplificando o uso da SpringFoxConfig.
Referências
DEVMEDIA, Padrão de Projeto Singleton em Java Disponível em https://www.devmedia.com.br/padrao-de-projeto-singleton-em-java/26392 Acesso em 1 de abril de 2021.
ANDRÉ CELESTINO, [Delphi] Design Patterns GoF – Singleton. Disponível em https://www.andrecelestino.com/delphi-design-patterns-singleton/ Acesso em 5 de abril de 2021.
MEDIUM, Singleton Design Pattern. Disponível em https://medium.com/rafaelantoniolucio/singleton-design-pattern-3e903f625265 Acesso em 5 de abril de 2021.