Skip to content

henrixdev/lab-padroes-projeto-java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📌 Padrões de Projeto com Java

Projeto baseado no laboratório de Padrões de Projeto (Design Patterns) da DIO, com foco na aplicação prática dos padrões utilizando Java Puro.

Além da reprodução da estrutura original, foram aplicadas melhorias de organização, legibilidade e boas práticas de código.


🎯 Objetivo

Demonstrar a aplicação prática dos padrões:

  • Singleton
  • Strategy
  • Facade

Utilizando conceitos fundamentais de orientação a objetos e organização de código.


🧩 Padrões Implementados

🔵 Singleton

Garante que uma classe tenha apenas uma instância durante a execução da aplicação.

Implementações: - Eager - Lazy - Lazy Holder


🟢 Strategy

Permite alterar o comportamento de um objeto em tempo de execução através de composição.

Componentes: - Interface Comportamento - Implementações concretas de comportamento - Classe Robo como contexto


🟡 Facade

Fornece uma interface simplificada para interação com múltiplos subsistemas.

Componentes: - Classe Facade - Integração com CrmService e CepApi


🛠️ Melhorias Implementadas

Durante a refatoração foram aplicadas as seguintes melhorias:

  • Organização da classe principal (Main)
  • Separação de responsabilidades
  • Padronização de nomenclatura
  • Uso adequado de final e constantes
  • Remoção de código redundante
  • Validações básicas de entrada
  • Melhor formatação de saída no console
  • Comentários explicativos sobre os padrões

📂 Estrutura do Projeto

one.digitalinnovation.gof
 ├── facade
 ├── singleton
 ├── strategy
 ├── subsistema1.crm
 ├── subsistema2.cep
 └── Main.java

▶️ Como Executar

Pré-requisitos

  • Java 11 ou superior

Executando

Execute a classe:

Main.java

Ou via terminal:

javac -d bin src/**/*.java
java -cp bin one.digitalinnovation.gof.Main

📚 Aprendizados

  • Aplicação prática de padrões de projeto clássicos
  • Organização e refatoração de código legado
  • Estruturação de projeto Java
  • Boas práticas de legibilidade e padronização

👨‍💻 Autor

Projeto desenvolvido como parte do desafio de Padrões de Projeto da DIO.

About

Exemplos de Padrões de Projeto em Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%