Exemple #1
0
        public StorageBuilder(Storage storage = null) : base(storage)
        {
            ServicesGenerator = new ServicesGenerator(new TypeIsClassValidator(), new ImplementationsFinder(new TypeImplementsInterfaceValidator()),
                                                      new ServiceGenerator(
                                                          new ServiceFlagsGenerator(new ServiceFlagsProvider(new AttributesFinder(), new MemberGenerator(new MemberFlagsGenerator())),
                                                                                    new ServiceFlagsIssuesResolver()),
                                                          new ServiceRegistrationGenerator(new ServiceRegistrationFlagGenerator(new BaseTypeFinder(), new ServiceRegistrationInterfacesGenerator(new RegistrationInterfacesFilter(new NamespaceInterfaceValidator()), new TypeContainsGenericParametersChecker(), new TypeGenericParametersProvider(), new InterfaceGenerator(new TypeGenericParametersProvider(), new TypeContainsGenericParametersChecker())), new ConstructorGenerator(new ParametersGenerator(new ParameterGenerator())), new ConstructorInfoListGenerator(), new DefaultConstructorInfoProvider())),
                                                          new ServiceInfoGenerator(), new ClassHasServiceFactoryChecker(),
                                                          new ServiceFactoryProvider(new InstancesCreator(new ConstructorInstanceCreator(new ConstructorInvoker(),
                                                                                                                                         new ConstructorParametersGenerator(new TypedMemberValueProvider(), new ConstructorParameterByTypeFinder(),
                                                                                                                                                                            new ServiceHasConstructorParametersChecker()),
                                                                                                                                         new ConstructorProvider(new ConstructorChecker(), new DefaultConstructorProvider(),
                                                                                                                                                                 new ConstructorGenerator(new ParametersGenerator(new ParameterGenerator()))), new ConstructorInfoListGenerator(),
                                                                                                                                         new ConstructorFinder(), new ConstructorListGenerator(new ConstructorGenerator(new ParametersGenerator(new ParameterGenerator()))),
                                                                                                                                         new ParametersValuesExtractor()))), new ServiceFactoryInvoker()));

            ServiceRegistrar = new ServiceRegistrar(
                new ServiceInstanceProvider(
                    new InstancesCreator(new ConstructorInstanceCreator(new ConstructorInvoker(),
                                                                        new ConstructorParametersGenerator(new TypedMemberValueProvider(), new ConstructorParameterByTypeFinder(),
                                                                                                           new ServiceHasConstructorParametersChecker()),
                                                                        new ConstructorProvider(new ConstructorChecker(), new DefaultConstructorProvider(),
                                                                                                new ConstructorGenerator(new ParametersGenerator(new ParameterGenerator()))), new ConstructorInfoListGenerator(),
                                                                        new ConstructorFinder(), new ConstructorListGenerator(new ConstructorGenerator(new ParametersGenerator(new ParameterGenerator()))),
                                                                        new ParametersValuesExtractor())), new ServiceIsAutoValueChecker()), new ServiceInstanceChecker(), new RegistratedServicesFilter());

            AssemblyRegistrar = new AssemblyRegistrar(new AssemblyListAdder(), new AssemblyListContainsChecker());

            ConstructorParametersGenerator = new ConstructorParametersByObjectsGenerator(new TypeGetter());
        }
Exemple #2
0
 public Container(IStorage storage, IServiceRegistrar serviceRegistrar, IServicesGenerator servicesGenerator, IServiceFinder serviceFinder,
                  IServiceInitializer serviceInitializer, ITypeExisterChecker typeExisterChecker, IServiceIsAutoValueChecker serviceIsAutoValueChecker,
                  ITypeGetter typeGetter, IAssemblyRegistrar assemblyRegistrar, IConstructorParametersByObjectsGenerator constructorParametersByObjectsGenerator,
                  IServiceInstanceResolver serviceInstanceResolver) : base(storage, serviceFinder, typeGetter, serviceInstanceResolver, assemblyRegistrar, serviceRegistrar, servicesGenerator)
 {
     ServicesGenerator         = servicesGenerator;
     ServiceFinder             = serviceFinder;
     ServiceInitializer        = serviceInitializer;
     ServiceIsAutoValueChecker = serviceIsAutoValueChecker;
     ConstructorParametersByObjectsGenerator = constructorParametersByObjectsGenerator;
     TypeGetter              = typeGetter;
     AssemblyRegistrar       = assemblyRegistrar;
     ServiceInstanceResolver = serviceInstanceResolver;
 }