ABP實戰--項目結構

學習完畢With ASP.NET Core & Entity Framework Core Part-1Part-2後,只實現了基本的功能,使用該工程繼續學習ABP的更多功能。html

更改項目結構

由項目的解決方案類圖可知項目的引用順序:
web

更改項目文件的顯示名,以清晰結構
數據庫

各層定義

1-Core

領域層,存放數據庫的Model以及單Model的一些操做。部分基礎架構的內容也能夠放這裏,如mail發送等。架構

2.1-EntityFrameworkCore

EFCore層,用於DbContext的構造以及數據庫結構的更新app

2.2-Application

應用層,處理具體的業務邏輯。模塊化

3-Web

Web展示層,這裏即UI層學習

3-Tests

Application測試層測試

4-Web.Tests

Web測試層3d

初始化

每一個層中都有本身的Module,ABP是模塊化的,經過這些Module實現了各層之間的依賴以及初始化。其依賴關係與層的依賴關係相同。

在Web層的Startup.cs類中將CeciWebModule註冊爲了ABP的TStartupModule,該Module以及其依賴的Module都會隨之被調用

而在CeciWebModule中會依賴CeciApplicationModuleCeciEntityFrameworkCoreModuleCeciApplicationModule又會依賴CeciCoreModule

因此係統中的Module的初始化順序爲:code

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

同理,Test層也是如此
在Tests層的CeciTestBase中:

在Web.Tests層的Startup中:

相關文章
相關標籤/搜索