using GoodBooks.PAY.PAYBLL.Abstractions; namespace GoodBooks.PAY.PAYBLL.Factory { /// /// Resolves the correct IPaymentGateway implementation by gateway code. /// Registered as Singleton — the factory itself is stateless. /// public interface IPaymentGatewayFactory { /// /// Returns the IPaymentGateway for the given gateway code. /// Throws NotSupportedException for unknown codes. /// IPaymentGateway GetGateway(string gatewayCode); } }