Skip to content

RodriDuro/DesignPatternsJava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Design Patterns em Java

Este repositório contém implementações práticas dos principais Design Patterns em Java.

🎯 Padrão Singleton - ConfigManager

Descrição

Implementação do padrão Singleton aplicado a um sistema de gerenciamento de configurações.

Conceito

O Singleton garante que uma classe tenha apenas uma única instância durante toda a execução da aplicação, fornecendo um ponto de acesso global.

Por que usar para Configurações?

  • Economia de recursos: Uma única instância carrega as configurações
  • Consistência: Todos os componentes veem as mesmas configurações
  • Facilidade de acesso: Qualquer classe pode obter configurações facilmente
  • Controle centralizado: Mudanças afetam toda a aplicação

Estrutura do Projeto

singleton/
└── configmanager/
    ├── basic/
    │   ├── ConfigManager.java      # Implementação básica do Singleton
    │   └── TesteSingleton.java     # Teste da funcionalidade
    └── resources/
        └── config.properties       # Arquivo de configurações

Como Executar

  1. Compile: javac singleton/configmanager/basic/*.java
  2. Execute: java singleton.configmanager.basic.TesteSingleton

Características Implementadas

  • ✅ Singleton básico (não thread-safe)
  • ✅ Carregamento automático de propriedades
  • ✅ Métodos getProperty() com valores padrão
  • ✅ Tratamento de erros

Próximas Evoluções

  • Thread-safe Singleton
  • Singleton com Enum
  • Lazy initialization
  • Performance optimizations

🔧 Tecnologias

  • Java 11+
  • Properties API
  • Design Patterns

📚 Aprendizado

Este projeto foi desenvolvido seguindo uma abordagem mentoreada, focando na compreensão conceitual antes da implementação.

About

Implementação do padrão Singleton aplicado a um sistema de gerenciamento de configurações.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages