ABP基礎-多層架構

DDD四層架構

四層架構

  • 展示層:一方面展示前端界面給用戶,其實就是View層;另一方面接受用戶的操作(如:點擊某個按鈕),然后調用應用層來處理事件。
  • 應用層:作為展示層和領域層的協(xié)調者和隔離者, 下調業(yè)務對象來執(zhí)行具體的任務。
  • 領域層:這一層包含業(yè)務對象和其周圍的規(guī)則,是整個應用的核心部分。
  • 基礎設施層:提供一些通用的第三方庫給更高層使用。

以上是DDD的經(jīng)典四層架構,但ABP在此基礎上還加了基層,如下:
  • 用戶層:就是前端層了,是實實在在展示著在用戶面前的前端界面,比如:VUE的很多框架等等。
  • Presentation層:這一層主要包括API接口,ASP.NET [Core] MVC (Model-View-Controller)可以被認為是Presentation層,它也可以是一個物理層(提供HTTP api)或邏輯層(直接注入和使用應用程序服務),它還包括定位、導航、對象映射、緩存、配置管理、審計日志記錄等等。它還處理授權、會話、特點(多租戶應用程序)和異常處理。
  • Application層:該層主要包括Application Services(應用服務),應用服務可以調用領域層或者領域對象(Domain Services, Entities)來完成用戶請求。同時該層使用DTO來獲取展示層數(shù)據(jù)和返回數(shù)據(jù)給展示層。它也可以處理授權、緩存、審計日志對象映射,會話等等。
  • Domain層:這是領域驅動設計最核心曾。包括了 Entities, Value Objects, 和 Domain Services,SpecificationsDomain Events,在該層還定義了倉儲接口(Repository )來讀取和持久化實體數(shù)據(jù)(entities )到數(shù)據(jù)庫。
  • Infrastructure層:這一層為基礎設施層,看名字就知道是為了輔助其他層進行工作的。第一:在該層實現(xiàn)倉儲接口(repository )來和真實數(shù)據(jù)庫交互(如可通過Entity Framework Core實現(xiàn)),這是個集成各種第三方框架來支撐其他層運行的一層
image.png

加我微信:wc88114,一起交流

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 引言 在討論DDD分層架構的模式之前,我們先一起回顧一下DDD和分層架構的相關知識。 DDD DDD(Domain...
    _張曉龍_閱讀 161,963評論 15 193
  • 軟件系統(tǒng)面向對象的設計思想可謂歷史悠久,20世紀70年代的Smalltalk可以說是面向對象語言的經(jīng)典,直到今天我...
    Bobby0322閱讀 5,330評論 0 40
  • 數(shù)據(jù)結構隊列集合鏈表、數(shù)組字典、關聯(lián)數(shù)組棧樹二叉樹完全二叉樹平衡二叉樹二叉查找樹(BST)紅黑樹B-,B+,B*樹...
    jackcooper閱讀 3,381評論 1 50
  • 后端架構師技術圖譜 最后更新于20180502 數(shù)據(jù)結構隊列集合鏈表、數(shù)組字典、關聯(lián)數(shù)組棧樹二叉樹完全二叉樹平衡二...
    01_小小魚_01閱讀 1,879評論 0 38
  • 前言 哈嘍大家好,今天是周二,我們的DDD系列文章今天正式開始講解,我這兩天一直在學習,也一直在思考如何才能把這一...
    SAYLINING閱讀 5,783評論 1 28

友情鏈接更多精彩內(nèi)容