static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); using (IUnityContainer container = new UnityContainer()) { // TODO replace with application of configuration information here container .RegisterType <IStocksTickerView, StocksTickerForm>() .RegisterType <IStockQuoteService, MoneyCentralStockQuoteService>( new InjectionProperty("Logger")) .RegisterType <ILogger, ConsoleLogger>() .RegisterType <ILogger, TraceSourceLogger>( "UI", new ContainerControlledLifetimeManager(), new InjectionConstructor("UI")) .RegisterType <StocksTickerPresenter>( new InjectionProperty( "Logger", new ResolvedParameter <ILogger>("UI"))); StocksTickerPresenter presenter = container.Resolve <StocksTickerPresenter>(); Application.Run((Form)presenter.View); } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); using (IUnityContainer container = new UnityContainer()) { container.LoadConfiguration(); container .RegisterType( typeof(IRepository <>), typeof(ValidatingRepository <>), "validating") .RegisterType <IValidator <StockQuote>, RandomStockQuoteValidator>() .RegisterType <ILogger, CompositeLogger>( "composite", new InjectionConstructor( new ResolvedArrayParameter <ILogger>( typeof(ILogger), new ResolvedParameter <ILogger>("UI")))); StocksTickerPresenter presenter = container.Resolve <StocksTickerPresenter>( new ParameterOverride( "repository", new ResolvedParameter <IRepository <StockQuote> >("validating")).OnType <StocksTickerPresenter>(), new PropertyOverride("Logger", new ResolvedParameter <ILogger>("composite"))); Application.Run((Form)presenter.View); } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); using (IUnityContainer container = new UnityContainer()) { container.LoadConfiguration(); StocksTickerPresenter presenter = container.Resolve <StocksTickerPresenter>(); Application.Run((Form)presenter.View); } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // TODO use a container to create the objects here StocksTickerForm view = new StocksTickerForm(); RandomStockQuoteService service = new RandomStockQuoteService(); service.Logger = new ConsoleLogger(); StocksTickerPresenter presenter = new StocksTickerPresenter(view, service); presenter.Logger = new TraceSourceLogger("UI"); Application.Run((Form)presenter.View); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); using (IUnityContainer container = new UnityContainer()) { container .RegisterType <IStocksTickerView, StocksTickerForm>() .RegisterType <IStockQuoteService, MoneyCentralStockQuoteService>() .RegisterType <ILogger, ConsoleLogger>() .RegisterType <ILogger, TraceSourceLogger>("UI") .RegisterInstance(new TraceSource("UI", SourceLevels.All)); StocksTickerPresenter presenter = container.Resolve <StocksTickerPresenter>(); Application.Run((Form)presenter.View); } }