點這裡進入abp入門教程目錄
應用程式**庫的分層是一種廣泛接受的技術,可幫助降低複雜性並提高**可重用性。
為了實現分層體系結構,asp.net boilerplate遵循
域驅動設計的原理
。領域驅動設計(ddd:domain-driven design)有四個基本層:
除了ddd外,現代架構應用程式中還包含其他邏輯和物理層。
建議並為abp應用程式實現以下模型。
abp不僅通過提供基類和服務使實現此模型更加容易,而且還提供
了直接從該模型開始的
啟動模板
這些是遠端客戶端,它們通過http api(api控制器,odata控制器,甚至是graphql端點)將應用程式用作服務。遠端客戶端可以是spa(單頁面應用程式),移動應用程式或第三方使用者。本地化和 導航可以在此應用程式內完成。
asp.net core mvc(模型-檢視-控制器)可以視為展示層。它可以是物理層(通過http api使用應用程式)或邏輯層(直接注入和使用應用程式服務)。無論哪種情況,它都可以包括 本地化,導航,物件對映, 快取,配置管理,審計日誌等。它還處理 授權,會話, 功能(用於 多租戶應用程式)和異常處理。
該層用於通過rest,odata,graphql等遠端api來提**用程式/域功能...它們不包含業務邏輯,而僅將http請求轉換為域互動,或者可以使用應用程式服務來委託操作。該層通常包括授權,快取, 審核日誌記錄,物件對映,異常處理,會話等。
應用層主要包括應用服務的使用領域層和領域物件(領域服務, 實體 ...)來執行請求的應用程式的功能。它使用資料傳輸物件從表示層或分布式服務層獲取資料並將資料返回到表示層或分布式服務層。它還可以處理 授權,快取,審核日誌記錄,物件對映,會話等。
這是實現我們的領域邏輯的主要層。它包括 實體,值物件和領域服務以執行業務/領域邏輯。它還可以包括規範和觸發領域事件。它定義了儲存庫介面以從資料來源(通常是dbms)讀取和保留實體。
基礎設施層使其他層起作用:它實現儲存庫介面(例如,使用entity framework core)以實際使用實際資料庫。它還可能包括與**商的整合,以傳送電子郵件等。這不是所有層下的嚴格層,但實際上通過實現抽象層來支援其他層。
ABP入門教程1 開篇
點這裡進入abp入門教程目錄 基於ddd的現代asp.net開發框架 abp abp是 asp.net boilerplate project asp.net樣板專案 的簡稱。asp.net boilerplate是乙個用最佳實踐和流行技術開發現代web應用程式的新起點,它旨在成為乙個通用的web應...
ABP 極簡入門教程(三 許可權)
一 開啟sample.core authorization permissionnames.cs增加授權名稱 controller許可權名稱 public const string pages address pages.address action許可權名稱 public const string...
微服務架構入門教程
微服務是一種架構風格,乙個大型的複雜軟體由乙個或多個微服務組成。系統中每個微服務都可以被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注於完成一件任務並很好地完成任務。在所有情況下,每個任務代表這乙個小的業務能力。微服務的核心思想是 乙個完整的應用由多個小的 相互獨立的微服務組成,這些微服務執行...