ABP框架学习记录(1)- ABP Module
Abp是一种基于模块化设计的思想构建的。开发人员可以将自定义的功能以模块(module)的形式集成到ABP中。具体的功能都可以设计成一个单独的Module。Abp底层框架提供便捷的方法集成每个Module。
AbpModule
在 Abp 项目下的 Abp.Modules 文件夹下定义了抽象类 AbpModule ,它提供了两个受保护的属性和四个虚方法:
1 | /// <summary> |
DependsOnAttribute
AbpModule 还提供 FindDependedModuleTypes 方法,获取使用 DependsOnAttribute 属性的Module 集合:

AbpModuleManager
Abp.Modules 文件夹下定义了 AbpModuleManager 类,来管理 ABPModule:

AbpModuleCollection
AbpModuleCollection 类继承 List<AbpModuleInfo>:

AbpModuleManager 得到所有的 AbpModule 的 AbpModuleInfo 以后,逐个调用这些 Module 的 PreInitialize ,Initialize 和 PostInitialize 以完成初始化:

1 | public virtual void StartModules() |
AbpKernelModule
Abp底层框架的一些功能模块的类型通过 AbpKernelModule 实现:


参考: