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.
- 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).
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 interativowhileeScanner, permitindo simular múltiplas compras sequenciais.
- Clone o repositório:
git clone [https://github.com/SEU_USUARIO/checkout-ecommerce-java.git](https://github.com/SEU_USUARIO/checkout-ecommerce-java.git)