static void Main(string[] args) { var container = CompositionRoot.Configure(); var factory = container.Resolve <IPaymentGatewayFactory>(); IPaymentGateway gateway = factory.Create(GateWay.SHIFT4); gateway.Invoke(); gateway = factory.Create(GateWay.WELLSFARGO); gateway.Invoke(); gateway = factory.Create(GateWay.PROTOBASE); gateway.Invoke(); Console.ReadLine(); }