image

Accede a bootcamps ilimitados y a más de 650 cursos

50
%OFF
Article image
Rodrigo Barros
Rodrigo Barros12/04/2025 11:39
Compartir
Microsoft Certification Challenge #3 DP-100Recomendado para tiMicrosoft Certification Challenge #3 DP-100

💻 Criando um Banco Digital com Java, POO e Arquitetura MVC

    Introdução

    Você já imaginou desenvolver um sistema bancário completo com Java? Neste artigo, compartilho um projeto que desenvolvi para simular um Banco Digital, aplicando conceitos de Programação Orientada a Objetos (POO) e arquitetura MVC (Model-View-Controller). A ideia é mostrar como essas tecnologias podem ser usadas na prática para criar sistemas robustos e organizados.

    Todo o projeto está disponível no GitHub:
    🔗 Banco Digital - Sistema de Gerenciamento de Contas Bancárias

    💡 O Desafio

    O objetivo era criar um sistema capaz de:

    • Cadastrar contas correntes e contas poupança;
    • Realizar depósitos, saques e transferências entre contas;
    • Exibir extratos bancários;
    • Aplicar automaticamente rendimento mensal nas contas poupança (0,5%);
    • Fazer toda a validação de saldo e valores;
    • Manter a aplicação organizada com arquitetura MVC.

    🧱 Estrutura do Projeto

    Adotei o padrão MVC para manter o projeto limpo e organizado:

    📦 banco-digital
    ├── application               # Ponto de entrada da aplicação
    ├── controller                # Lógica de controle (input)
    ├── model                     # Entidades, serviços e exceções
    ├── view                      # Exibição dos dados (console)
    

    🚀 Funcionalidades Implementadas

    1. Criação de Contas

    ContaBancaria cc = new ContaCorrente(cliente);
    ContaBancaria cp = new ContaPoupanca(cliente);
    

    Cada conta tem número, agência, titular e saldo. Contas poupança ganham rendimento, e contas correntes têm cheque especial.

    2. Operações Bancárias

    O serviço OperacoesBancariasServices gerencia transações como:

    depositar(conta, 1000.0);
    sacar(conta, 200.0);
    transferir(contaOrigem, contaDestino, 300.0);
    

    As operações são registradas com logs e validadores para evitar valores negativos ou nulos.

    3. Rendimento na Poupança

    cp.aplicarRendimento(); // Aplica 0,5% ao saldo atual
    

    O rendimento é aplicado automaticamente com um simples método.

    4. Extrato no Console

    ContaBancariaFormatter.imprimirExtrato(cc);
    

    Saída:

    === Extrato Conta Corrente ===
    Agência: 0001
    Número da conta: 1
    Titular: Luna Souza
    Saldo: R$ 800.00
    ==============================
    

    🧠 Conceitos Aplicados

    • POO: uso de herança, encapsulamento, polimorfismo e abstração.
    • MVC: separação entre regras de negócio, exibição e controle.
    • Tratamento de exceções: controle de erros como saldo insuficiente ou valores inválidos.
    • Logs e validações: cada operação é registrada e validada.

    🔧 Tecnologias Utilizadas

    • Linguagem: Java
    • Estrutura: POO + MVC
    • Tratamento de erros: Exceptions personalizadas
    • Simulação de usuários: Gerador de nomes aleatórios

    📌 Resultados

    O sistema é executado no console, simulando transações reais de um banco. Apesar de simples visualmente, sua estrutura é sólida e pronta para expansão futura, como por exemplo:

    • Interface gráfica com JavaFX
    • Persistência com banco de dados
    • API REST com Spring Boot

    🧑‍💻 Conclusão

    Esse projeto foi uma excelente forma de reforçar conceitos fundamentais do Java e de boas práticas de desenvolvimento. Recomendo fortemente que você tente criar algo parecido do zero — a prática é o melhor caminho para aprender de verdade.

    Quer ver o código funcionando?

    🔗 Acesse o repositório no GitHub

    Compartir
    Recomendado para ti
    Microsoft Azure Cloud Native
    XP Inc. - Cloud com Inteligência Artificial
    Microsoft AI for Tech - Azure Databricks
    Comentarios (0)
    Recomendado para tiMicrosoft Certification Challenge #3 DP-100