Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

ByteBank Design Patterns

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.

Padroes utilizados

  • Strategy: cada operação bancária possui uma implementação própria de OperacaoStrategy.
  • Factory: OperacaoFactory cria a estratégia adequada para cada tipo de operação.
  • Facade: BancoFacade oferece 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.

Estrutura

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

Regras implementadas

  • 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.

Como executar no Mac

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

Como executar no VS Code

  1. Instale o JDK 17 ou superior.
  2. Instale a extensão Extension Pack for Java, da Microsoft.
  3. Abra a pasta bytebank-design-patterns no VS Code.
  4. Abra src/main/java/br/com/bytebank/Main.java.
  5. Clique em Run acima do metodo main.

Exemplo de saida

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

Tecnologias

  • Java 17+
  • Git

About

Projeto Java com Strategy, Factory e Facade aplicado a um sistema bancário simples, desenvolvido para o desafio de Design Patterns da DIO.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages