Skip to the content.
package com.bookshop.solid.dip;

import com.bookshop.domain.Customer;
import java.math.BigDecimal;

/** Abstraction owned by the business logic -- providers plug into it, not the other way round. */
public interface PaymentGateway {

    String charge(Customer customer, BigDecimal amount);
}

Raw file