public override void Initialize() { var outputServices = new List<IOutputService> { new ConsoleOutputService(), new MessageBoxOutputService() }; IOutputService compositeOutputService = new CompositeOutputService(outputServices); base.container.RegisterType<IInputService, ConsoleInputService>(); base.container.RegisterInstance<IOutputService>(compositeOutputService); }
private static void RegisterServices() { IUnityContainer container = new UnityContainer(); var outputServices = new List<IOutputService> { new ConsoleOutputService(), new MessageBoxOutputService() }; IOutputService compositeOutputService = new CompositeOutputService(outputServices); container.RegisterType<ICalculatorReplLoop, CalculatorReplLoop>() .RegisterType<ICalculator, Calculator>() .RegisterType<IInputService, ConsoleInputService>() .RegisterType<IParserService, InputParserService>() .RegisterInstance<IOutputService>(compositeOutputService); ICalculatorReplLoop loop = container.Resolve<ICalculatorReplLoop>(); loop.Run(); }