Para abordar el problema de la gestión de métodos de pago y lograr una mayor flexibilidad, se aplicará el patrón Strategy. Se creará una clase MetodoPago con diferentes estrategias para cada método de pago, como TransferenciaBancaria, TarjetaDebito, etc. Cada estrategia implementará un método realizarPago() que maneje la lógica específica del método de pago correspondiente. La clase MetodoPago tendrá métodos para seleccionar y realizar el pago según la estrategia elegida, evitando la duplicación de código y facilitando la incorporación de nuevos métodos de pago. A continuación se presenta un diagrama UML de la solución propuesta:
Para abordar el problema de la gestión de métodos de pago y lograr una mayor flexibilidad, se aplicará el patrón Strategy. Se creará una clase MetodoPago con diferentes estrategias para cada método de pago, como TransferenciaBancaria, TarjetaDebito, etc. Cada estrategia implementará un método realizarPago() que maneje la lógica específica del método de pago correspondiente. La clase MetodoPago tendrá métodos para seleccionar y realizar el pago según la estrategia elegida, evitando la duplicación de código y facilitando la incorporación de nuevos métodos de pago. A continuación se presenta un diagrama UML de la solución propuesta: