Mini sistema bancário em Java puro criado para o desafio final de Design Patterns da DIO. O projeto demonstra depósito, saque e transferência com regras simples, sem Spring ou dependências externas.
- Strategy: cada operação bancária possui uma implementação própria de
OperacaoStrategy. - Factory:
OperacaoFactorycria a estratégia adequada para cada tipo de operação. - Facade:
BancoFacadeoferece métodos simples e esconde a criação e execução das estratégias.
Os valores monetários usam BigDecimal, evitando os erros de precisão que podem ocorrer com double. Todas as quantias são mantidas com duas casas decimais.
src/main/java/br/com/bytebank/
├── Main.java
├── facade/
│ └── BancoFacade.java
├── factory/
│ └── OperacaoFactory.java
├── model/
│ └── Conta.java
└── strategy/
├── DepositoStrategy.java
├── OperacaoStrategy.java
├── SaqueStrategy.java
└── TransferenciaStrategy.java
- Depósitos, saques e transferências devem ter valor maior que zero.
- Uma conta não pode sacar ou transferir mais do que seu saldo.
- A conta de origem e a conta de destino de uma transferência devem ser diferentes.
- O saldo inicial não pode ser negativo.
Requisito: JDK 17 ou superior instalado.
No Terminal, a partir da pasta do projeto:
mkdir -p out
javac -d out $(find src/main/java -name "*.java")
java -cp out br.com.bytebank.Main- Instale o JDK 17 ou superior.
- Instale a extensão Extension Pack for Java, da Microsoft.
- Abra a pasta
bytebank-design-patternsno VS Code. - Abra
src/main/java/br/com/bytebank/Main.java. - Clique em Run acima do metodo
main.
Saldos iniciais:
- Ana: R$ 1.000,00
- Bruno: R$ 500,00
Depósito de R$ 250,00 realizado na conta de Ana.
Saque de R$ 100,00 realizado na conta de Bruno.
Transferência de R$ 300,00 de Ana para Bruno realizada.
Saldos finais:
- Ana: R$ 950,00
- Bruno: R$ 700,00
- Java 17+
- Git