I have the following interfaces defined in my Domain project, where should I put the implementations like CreditCardPayment, DHLShipping, etc…
Additionally, should I define an enum or register the implementations as keyed services for persistance purposes (store as and convert from string identifier).
public interface IShippingMethod
{
void CalculateShippingCost(Order order);
void TrackShipment(Shipment shipment);
}
public interface IPaymentMethod
{
bool ProcessPayment(Order order, PaymentInfo paymentInfo);
bool RefundPayment(Order order, PaymentInfo paymentInfo);
}
Asking for an opinion