学习完毕With ASP.NET Core & Entity Framework Core Part-1Part-2后,只实现了基本的功能,使用该工程继续学习ABP的更多功能。

更改项目结构##

由项目的解决方案类图可知项目的引用顺序:
ABP实战--项目结构

更改项目文件的显示名,以清晰结构
ABP实战--项目结构

各层定义##

1-Core###

领域层,存放数据库的Model以及单Model的一些操作。部分基础架构的内容也可以放这里,如mail发送等。

2.1-EntityFrameworkCore###

EFCore层,用于DbContext的构造以及数据库结构的更新

2.2-Application###

应用层,处理具体的业务逻辑。

3-Web###

Web展现层,这里即UI层

3-Tests###

Application测试层

4-Web.Tests###

Web测试层

初始化##

每个层中都有自己的Module,ABP是模块化的,通过这些Module实现了各层之间的依赖以及初始化。其依赖关系与层的依赖关系相同。
ABP实战--项目结构
在Web层的Startup.cs类中将CeciWebModule注册为了ABP的TStartupModule,该Module以及其依赖的Module都会随之被调用
ABP实战--项目结构
而在CeciWebModule中会依赖CeciApplicationModuleCeciEntityFrameworkCoreModuleCeciApplicationModule又会依赖CeciCoreModule
ABP实战--项目结构
所以系统中的Module的初始化顺序为:

  • CoreModulePreInitialize()
  • ApplicationModulePreInitialize()
  • EFCoreModulePreInitialize()
  • WebModulePreInitialize()
  • CoreModuleInitialize()
  • ApplicationModuleInitialize()
  • EFCoreModuleInitialize()
  • WebModuleInitialize()

同理,Test层也是如此
在Tests层的CeciTestBase中:
ABP实战--项目结构
在Web.Tests层的Startup中:
ABP实战--项目结构

相关文章:

  • 2021-12-02
  • 2022-03-09
  • 2021-09-18
  • 2021-08-06
  • 2022-12-23
  • 2021-04-06
  • 2021-06-03
  • 2021-09-30
猜你喜欢
  • 2021-12-07
  • 2022-12-23
  • 2021-09-06
  • 2022-01-05
  • 2021-07-23
  • 2021-12-24
  • 2021-08-07
相关资源
相似解决方案