BeiDream.Core.Dependency.Bootstrapper.Initialize C# (CSharp) Method

Initialize() public method

public Initialize ( ) : void
return void
        public virtual void Initialize()
        {
            IocManager.IocContainer.Install(new OwnCoreInstaller());
            //领域事件的注册必须在其他的注册之前,这样才能够扫描所有的注册的类,并找到实现的IEventHandler的事件进行注册
            IocManager.IocContainer.Install(new EventBusInstaller(IocManager));
            UnitOfWorkRegistrar.Initialize(IocManager);
            ValidationInterceptorRegistrar.Initialize(IocManager);
            if (ConventionalRegistrarConfig.RegistrarForInterface)
                IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());
            if (ConventionalRegistrarConfig.Assembly == null)
            {
                var assemblies = ConventionalRegistrarConfig.IsWebApp ? BuildManager.GetReferencedAssemblies().Cast<Assembly>() : AppDomain.CurrentDomain.GetAssemblies();
                assemblies = FilterSystemAssembly(assemblies);
                foreach (var assemblie in assemblies)
                {
                    IocManager.RegisterAssemblyByConvention(assemblie);
                }
            }
            else
            {
                IocManager.RegisterAssemblyByConvention(ConventionalRegistrarConfig.Assembly);
            }
        }