Sistema em Java para registro de usuários e geração de relatórios, criado para demonstrar os padrões de projeto Singleton e Decorator.
- Registro de usuários através de uma instância única e compartilhada (
UserRegistry) - Geração de relatórios com decorações combináveis: cabeçalho, borda e cor
- Menu interativo via terminal
| Padrão | Onde é aplicado |
|---|---|
| Singleton | UserRegistry garante uma única instância de registro de usuários em toda a aplicação, acessada por getInstance() |
| Decorator | ReportDecorator e suas subclasses (HeaderDecorator, BorderDecorator, ColorDecorator) adicionam comportamento a um Report em tempo de execução, sem alterar BasicReport |
git clone git@github.com:kxyke/UserRegistryProject.git
cd UserRegistryProjectCompile o projeto:
javac -d bin src/main/java/Main.java src/main/java/registry/*.java src/main/java/reports/*.java src/test/java/tests/*.javaExecute:
java -cp bin MainO menu no terminal guia pelas opções: registrar usuário, gerar relatório (escolhendo quais decorações aplicar) ou sair.
java -cp bin tests.SingletonTest
java -cp bin tests.DecoratorTest- Java (JDK 8+)
├── src/main/java/Main.java # Menu e ponto de entrada
├── src/main/java/registry/ # Padrão Singleton
├── src/main/java/reports/ # Padrão Decorator
└── src/test/java/tests/ # Testes dos dois padrões