How gabhrielv/factorymethod works
This small Java example provides a payment strategy interface, three payment implementations, and a reflective factory that selects an implementation from a payment name. The principal workflow is a caller requesting a payment implementation and then using its processing or reversal methods. The repository contains no application entry point or external payment integrations, so the caller is conceptual and the graph does not imply real payment processing.
Main entry points: PagamentoFactory.java Payment Factory · IPagamento.java Payment Contract · PagamentoBoleto.java Boleto Payment · PagamentoCartao.java Card Payment
Components 6
Other components
- Caller
- Payment Factory
src/main/java/aula2/PagamentoFactory.java - Payment Contract
src/main/java/aula2/IPagamento.java - Boleto Payment
src/main/java/aula2/PagamentoBoleto.java - Card Payment
src/main/java/aula2/PagamentoCartao.java - Pix Payment
src/main/java/aula2/PagamentoPix.java
Connections 9
- Caller → Payment Factory: requests payment
- Payment Factory → Boleto Payment: loads by name
- Payment Factory → Card Payment: loads by name
- Payment Factory → Pix Payment: loads by name
- Payment Factory → Payment Contract: returns contract
- Caller → Payment Contract: processes or reverses
- Boleto Payment → Payment Contract: implements
- Card Payment → Payment Contract: implements
- Pix Payment → Payment Contract: implements