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);
        }
示例#2
0
        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();
        }