ABP VNext學習日記8
1.事件匯流排
解析:事件匯流排是將訊息從傳送方傳輸到接收方的中介,它在物件、服務和應用程式之間提供了一種鬆散耦合的通訊方式。
[1]本地事件匯流排:適合程式內訊息傳遞
[2]分散式事件匯流排:適合程式間訊息傳遞,比如微服務釋出和訂閱分散式事件
2.ABP虛擬檔案系統
解析:abp add-package Volo.Abp.VirtualFileSystem
3.PreConfigureServices和PostConfigureServices
解析:
[1]AbpModule類定義了PreConfigureServices和PostConfigureServices方法用來在ConfigureServices之前或之後覆蓋和編寫程式碼
[2]在這些方法中編寫的程式碼將在所有其它模組的ConfigureServices方法之前/之後執行
4.OnPreApplicationInitialization和OnPostApplicationInitialization
解析:
[1]AbpModule類還定義了OnPreApplicationInitialization和OnPostApplicationInitialization方法用來在OnApplicationInitialization之前或之後覆蓋和編寫程式碼
[2]在這些方法中編寫的程式碼將在所有其它模組的OnApplicationInitialization方法之前/之後執行
5.框架模組和應用程式模組異同
解析:
[1]框架模組:這些是框架的核心模組。比如快取、郵件、主題、安全、序列化、驗證、EF Core整合、MongoDB整合等。它們沒有應用/業務功能,它們提供了日常開發經常用到的通用基礎設施、整合和抽象
[2]應用程式模組:這些模組實現了特定的應用/業務功能。比如部落格、文件管理、身份管理、租戶管理等。它們通常有自己的實體、服務、API和UI元件
說明:推薦為每個模組定義單獨的DbContext介面和類。
6.聚合
解析:聚合是域驅動設計中的一種模式,DDD的聚合是一組可以作為一個單元處理的域物件。比如,訂單及訂單系列的商品,這些是獨立的物件,但將訂單[連同訂單系列的商品]視為一個聚合通常是很有用的。
7.應用服務生命週期
解析:應用服務的生命週期是transient的,它們會自動註冊到依賴注入系統。
8.審計DTO
解析:
[1]CreationAuditedEntityDto
[2]CreationAuditedEntityWithUserDto
[3]AuditedEntityDto
[4]AuditedEntityWithUserDto
[5]FullAuditedEntityDto
[6]FullAuditedEntityWithUserDto
9.可擴充套件的DTO
解析:
[1]ExtensibleObject實現IHasExtraProperties
[2]ExtensibleEntityDto
[3]ExtensibleCreationAuditedEntityDto
[4]ExtensibleCreationAuditedEntityWithUserDto
[5]ExtensibleAuditedEntityDto
[6]ExtensibleAuditedEntityWithUserDto
[7]ExtensibleFullAuditedEntityDto
[8]ExtensibleFullAuditedEntityWithUserDto
10.ABP工作單元
解析:ABP框架的工作單元[UOW]實現提供了對應用程式中的資料庫連線和事務範圍的抽象和控制。
11.ABP多租戶
解析:Install-Package Volo.Abp.MultiTenancy
12.動態C# API客戶端
解析:ABP可以自動建立C# API客戶端代理來呼叫遠端HTTP服務[REST APIS]。通過這種方式不需要通過HttpClient或者其它低階的HTTP功能呼叫遠端服務並獲取資料。
13.ABP Dapper整合
解析:Install-Package Volo.Abp.Dapper
14.ABP SignalR整合
解析:abp add-package Volo.Abp.AspNetCore.SignalR
15.開源的應用程式模組
解析:
[1]Account:提供賬戶管理UI,並允許使用者登入/註冊應用程式
[2]Audit Logging:用於將審計日誌持久化到資料庫
[3]Background Jobs:用於在使用預設後臺作業管理器時儲存後臺作業
[4]Blogging:用於建立精美的部落格,比如ABP的部落格就使用了此模組
[5]Docs: 用於建立技術文件頁面。比如,ABP的文件就使用了此模組
[6]Feature Management:用於儲存和管理功能
[7]Identity:基於Microsoft Identity管理組織單元、角色、使用者和它們的許可權
[8]Identity Server:整合了IdentityServer4
[9]Permission Management:用於儲存許可權
[10]Setting Management:用於儲存設定
[11]Tenant Management:管理多租戶應用程式的租戶
[12]Users:抽象使用者,因此其它模組可以依賴此模組而不是Identity模組
[13]Virtual File Explorer:提供簡單的UI檢視虛擬檔案系統中的檔案
16.MSI檔案
解析:MSI檔案是Windows Installer的資料包,它實際上是一個資料庫,包含安裝一種產品所需要的資訊和在很多安裝情形下安裝和解除安裝程式所需的指令和資料。MSI檔案將程式的組成檔案與功能關聯起來。此外,它還包含有關安裝過程本身的資訊:如安裝序列、目標資料夾路徑、系統依賴項、安裝選項和控制安裝過程的屬性。
17.自動註冊
解析:
[1]按約定[所有的模組類、所有的控制器]
[2]按依賴介面
[3]按依賴特性
18.Volo.Abp.Domain.Entities.Auditing.FullAuditedAggregateRoot<Guid>
解析:Implements IFullAuditedObject to be a base class for full-audited aggregate roots.
19.Volo.Abp.Threading.OneTimeRunner
解析:This class is used to ensure running of a code block only once. It can be instantiated as a static object to ensure that the code block runs only once in the application lifetime.
20.Microsoft.EntityFrameworkCore.ModelBuilder
解析:提供一個簡單的API來配置一個IMutableModel,它定義了實體的形狀,它們之間的關係,以及它們如何對映到資料庫。
21.Volo.Abp.Application.Services.IApplicationService
解析:This interface must be implemented by all application services to register and identify them by convention.
22.Volo.Abp.Application.Dtos.PagedAndSortedResultRequestDto
解析:Simply implements IPagedAndSortedResultRequest.
23.Microsoft.AspNetCore.Authorization.AuthorizeAttribute.AuthorizeAttribute(string policy)
解析:用指定策略初始化一個AuthorizeAttribute的新例項。
參考文獻:
[1]模組化架構最佳實踐&約定:https://docs.abp.io/zh-Hans/abp/latest/Best-Practices/Module-Architecture
[2]微服務解決方案示例:https://docs.abp.io/zh-Hans/abp/latest/Samples/Microservice-Demo
[3]應用程式模組:https://docs.abp.io/zh-Hans/abp/latest/Modules/Index
[4]ABP Packages:https://abp.io/packages
[5]ABP Framework路線圖:https://docs.abp.io/zh-Hans/abp/latest/Road-Map
[6]ABP示例應用:https://docs.abp.io/zh-Hans/abp/latest/Samples/Index
相關文章
- ABP VNext學習日記7
- 初識ABP vNext(8):ABP特徵管理特徵
- 學習abp vnext框架到精簡到我的Vop框架框架
- (精華)2020年8月22日 ABP vNext DTO在應用層的使用
- Abp vNext 依賴注入依賴注入
- 初識ABP vNext(2):ABP啟動模板
- 初識ABP vNext(10):ABP設定管理
- 我和ABP vNext 的故事
- 初識ABP vNext(5):ABP擴充套件實體套件
- Laravel8學習筆記-日誌元件Laravel筆記元件
- 原始碼解析-Abp vNext丨LocalEventBus原始碼
- ABP vNext 審計日誌獲取真實客戶端IP客戶端
- 初識ABP vNext(3):vue對接ABP基本思路Vue
- OData WebAPI實踐-與ABP vNext整合WebAPI
- Abp vNext 模組載入機制
- Abp Vnext Vue版本(Vben Admin5.0)Vue
- 初識ABP vNext(6):vue+ABP實現國際化Vue
- Abp vnext EFCore 實現動態上下文DbSet踩坑記
- (精華)2020年8月22日 ABP vNext 領域層和資料訪問層的單元測試
- 初識ABP vNext(9):ABP模組化開發-檔案管理
- 十一、Abp vNext 基礎篇丨測試
- Abp Vnext Vue3 的版本實現Vue
- Flutter學習日記Flutter
- 學習日記-9.2
- 學習日記 - 2024.9.5
- 學習日記 - 2024.9.1
- 學習日記 - 9.11
- 學習日記 - 2024.9.4
- 學習日記-2024.9.9
- JDBC學習日記JDBC
- ABP VNext從單體切換到微服務微服務
- [Abp vNext 入坑分享] - 6.完整接入swaggerSwagger
- [Abp vNext 原始碼分析] - 4. 工作單元原始碼
- Abp vNext 基礎篇丨分層架構架構
- Abp vNext 基礎篇丨領域構建
- 十、Abp vNext 基礎篇丨許可權
- Abp vNext異常處理的缺陷/改造方案
- 淺談Abp vNext的模組化設計