Skip to content

Repository files navigation

🛒 E-Commerce Checkout System — Java & Strategy Pattern

Projeto desenvolvido em Java para simular o fluxo de checkout de um e-commerce com menu interativo via terminal, utilizando o padrão de projeto comportamental Strategy para gerenciar regras de pagamento dinâmicas e desacopladas.

🛠️ Tecnologias e Conceitos Aplicados

  • Java 21+
  • Programação Orientada a Objetos (POO): Polimorfismo, Interfaces e Encapsulamento.
  • Design Patterns: Strategy Pattern.
  • Princípios SOLID:
    • Single Responsibility Principle (SRP): Cada classe de pagamento tem uma única responsabilidade de cálculo.
    • Open/Closed Principle (OCP): O sistema está aberto para expansão (novas formas de pagamento) e fechado para modificação (a classe de serviço não precisa mudar).

📐 Arquitetura da Solução

O projeto é estruturado em camadas desacopladas dentro do pacote checkoutecommerce:

  • FormaDePagamento (Interface): Contrato que define a regra para o cálculo do valor final (calcularValorFinal).
  • PagamentoPix: Implementação concreta com 10% de desconto.
  • PagamentoBoleto: Implementação concreta mantendo o valor integral (0% de alteração).
  • PagamentoCartao: Implementação concreta com 5% de taxa.
  • CheckoutService: Classe gerenciadora que processa qualquer forma de pagamento sem conhecer os detalhes internos de cálculo.
  • Main: Interface via terminal com loop interativo while e Scanner, permitindo simular múltiplas compras sequenciais.

🚀 Como Executar o Projeto

  1. Clone o repositório:
    git clone [https://github.com/SEU_USUARIO/checkout-ecommerce-java.git](https://github.com/SEU_USUARIO/checkout-ecommerce-java.git)

About

🛒 💳 ☕Sistema de checkout para e-commerce em Java aplicando o padrão de projeto Strategy para cálculo dinâmico de pagamentos (Pix, Boleto e Cartão).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages