abp vnext是abp官方在abp的基础之上构建的微服务框架,说实话,看完核心组件源码的时候,很兴奋,整个框架将组件化的细想运用的很好,真的超级解耦.老版整个框架依赖Castle的问题,vnext对其进行了解耦...是个值得使用的框架.下面开始回到正题.
1、模块加载系统
模块加载系统算是vnext的整个框架的入口,离了他,这个框架就废了.具体它有什么作用,看下面的代码分析,模块加载系统的入口如下:
?...这里也很简单,向DI中预先写入AbpModuleLifecycleOptions,该参数用于控制模块加载的生命周期,这四个Contributor分别对应模块加载生命周期的接口,
?
?
?
?...调用ModuleLoader单例实例,执行加载模块的方法.核心算法和老版Abp一样,这里稍微解释下,
核心点如下:
(1)、加载启动模块所有依赖的模块,并设置依赖项,最后生成IAbpModuleDescriptor...最后,返回实现了AbpModule的核心模块类型
?
ok,接着回到模块加载系统的加载插件方法,如下:
?
?