-
Notifications
You must be signed in to change notification settings - Fork 80
Open
Description
Para solucionar la violación al ISP en PaymentDAO, debes separar responsabilidades y dividir la interfaz en partes más específicas, como extraer lógica de negocio, interfaces más pequeñas.
`public interface PaymentReadOnlyDAO {
Payment findById(int id);
List<Payment> list();
List<Payment> listByWorker(int workerId);
}
public interface PaymentWriteDAO {
boolean create(Payment payment);
boolean update(Payment payment);
boolean delete(Payment payment);
}
public class PaymentDAO implements PaymentReadOnlyDAO, PaymentWriteDAO {
private PaymentDAO() {}
private static class Helper { private static final PaymentDAO INSTANCE = new PaymentDAO(); }
public static PaymentDAO getInstance() { return Helper.INSTANCE; }
@Override
public Payment findById(int id) {
// Solo acceso a BD
// Implementación simplificada
return null;
}
@Override
public List<Payment> list() {
return new ArrayList<>();
}
@Override
public List<Payment> listByWorker(int workerId) {
return new ArrayList<>();
}
@Override
public boolean create(Payment payment) { return false; }
@Override
public boolean update(Payment payment) { return false; }
@Override
public boolean delete(Payment payment) { return false; }`
Metadata
Metadata
Assignees
Labels
No labels