初期的ABP版本分析
graph LR abp--> A(castle windsor) A--> IWindsorInstaller A--> IInterceptor拦截器 abp--> B(AbpBootstrapper) B--> C(WindsorControllerFactory) B--> 实例化WindsorContainer B--> 接管Controller B--> D(注册组件) D--> IController D--> ApiController D--> NhQuestionRepository D--> QuestionService D--> NullLocalizationManager C--> 接管Controller,从Windsor中获取Controller abp--> ILocalizationManager WindsorContainer.Install(FromAssembly.This())会注册所有实现IWindsorInstaller接口的组件
作者当时考虑到各模块的引用关系,特意列出来一个文档进行说明:
Dll dependencies Framework ======================================= - "Abp.Core" (no dependencies) - "Abp.Data" (Dependencies: "Abp.Core") - "Abp.Web" (Dependencies: "Abp.Core") Core module ======================================= - "Abp.Modules.Core" (Dependencies: "Abp.Core") - "Abp.Modules.Core.Data" (Dependencies: "Abp.Core", "Abp.Data", "Abp.Modules.Core") - "Abp.Modules.Core.Web" (Dependencies: "Abp.Core", "Abp.Data", "Abp....