Esempio n. 1
0
        /// <summary>
        /// Setup Dependency Injection
        /// - Singleton-Services have to be registered before MVVM-Classes because they depend on Services
        /// - DynamicDependencyProvider is a Service that allows dynamic access to all declared dependencies
        ///     USE WITH CAUTION! Global Dependency Locator is a bad practice, because you can't
        ///                       see in the constructor what the dependency of a class are.
        /// </summary>
        public AppDependencyInjection()
        {
            // create service collection object
            _services = new ServiceCollection();

            // create dynamic dependency provider impl
            var dynamicDependencyProvider = new DynamicDependencyProviderImpl();

            _dynamicDependencyProvider = dynamicDependencyProvider;

            // configure instantiation of classes
            ConfigureSingletonServices();
            ConfigureTransientMvvm();

            // create service provider
            _serviceProvider = _services.BuildServiceProvider();

            // set service provider to dynamic dependency provider
            dynamicDependencyProvider.ServiceProvider = _serviceProvider;
        }
Esempio n. 2
0
 public WindowOpenerImpl(IDynamicDependencyProvider dynamicDependencyProvider)
 {
     _dynamicDependencyProvider = dynamicDependencyProvider;
 }