예제 #1
0
            /// <summary>
            /// Создает службу для инициализации объектов: <see cref="UniMvp.Interfaces.IComponent"/>.
            /// </summary>
            public static IInitializationFactory Components(IDependencyContainer valueContainer)
            {
                var inject = InsertDependencies.IntoFieldsPropertiesAndMethods(valueContainer);
                var init   = CreateBuildQueue(new InitStrategy());

                return(CreateInitializationFactory(null, inject, init));
            }
예제 #2
0
            /// <summary>
            /// Создает службу для инициализации объектов: <see cref="UniMvp.Interfaces.IService"/>.
            /// </summary>
            /// <param name="factory">Фабрика по созданию объектов и настройке зависимостей.</param>
            /// <param name="valueContainer"> DI контейнер для кэширования и поставки значений. </param>
            /// <returns></returns>
            public static IInitializationFactory Services(IDependencyFactory factory, IDependencyContainer valueContainer)
            {
                var find   = FindDependencies.InServices(factory, valueContainer);
                var inject = InsertDependencies.IntoFieldsPropertiesAndMethods(valueContainer);
                var init   = CreateBuildQueue(new InitCompositeStrategy(factory));

                return(CreateInitializationFactory(find, inject, init));
            }