/// <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)); }
/// <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)); }