java icon indicating copy to clipboard operation
java copied to clipboard

Violación 3-OCP: BankingAccount.java no permite nuevas transacciones sin modificar la clase

Open gabygomm opened this issue 3 months ago • 0 comments

Solución propuesta:
Definir una interfaz Transaction y que cada tipo de transacción la implemente.

Código propuesto:

public interface Transaction { int getBalance(); }

public class Debit implements Transaction { /* ... */ }
public class Credit implements Transaction { /* ... */ }
// BankingAccount opera sobre Transaction

UML propuesto:

classDiagram
    class Transaction { <<interface>> +getBalance() }
    class Debit { +getBalance() }
    class Credit { +getBalance() }
    Transaction <|.. Debit
    Transaction <|.. Credit
    BankingAccount o-- Transaction

Gómez S.

gabygomm avatar Oct 24 '25 14:10 gabygomm