您好,登錄后才能下訂單哦!
本篇內容主要講解“java三層架構和DDD分層架構是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“java三層架構和DDD分層架構是什么”吧!
傳統的三層架構主要分為業務接口層、業務邏輯層、數據訪問層
業務接口層:主要是API的定義,包括資源路徑定義、請求報文接受、響應報文返回、請求編碼等定義的內容;
業務邏輯層:主要做業務邏輯處理,這一層包括數據映射DTO轉VO,業務核心邏輯編寫,組合不同數據倉庫,做業務邏輯;
數據訪問層:主要做數據存儲,包括數據映射VO轉PO,數據接口的定義,映射XML的編寫。
DDD分層架構也可以叫四層架構,主要由用戶接口層、應用層、領域層、基礎層;
用戶接口層:負責向用戶顯示信息和解釋用戶指令,比如用戶、程序、自動化腳本、批處理腳本等;
應用層:主要用于協調多個聚合的服務和領域對象完成服務編排和組合,可以調本地也可以調遠程的服務、包括權限驗證、事務控制、防重冪等,不要把核心的業務邏輯放到這里;
領域層:實現核心邏輯,包括聚合根、實體、值對象、領域服務,包括業務擴展點、校驗規則、組合聚合服務等相關功能;
基礎層:提供通用的技術和基礎服務,包括一些第三方工具類、緩存、數據庫、文件等,采用依賴倒置的設計,于其他層解耦。
三層架構向DDD架構演變,主要發生在邏輯層和數據庫訪問層
新增DTO,給前端數據可用性更高,更靈活;
三層架構的業務邏輯層改為應用層和領域層,使得業務邏輯不混亂,應用快速響應前端的變化;
基礎層和數據訪問層的設計變化,通過依賴倒置實現基礎設置對基礎資源的解耦,應對主流技術的變化。
Assembler:DTO與實體對象相互轉換和數據交換,與DTO同時出現;
Dto:數據傳輸載體,DTO可以將領域對象與外界隔離;
Facade:粗接口粒度定義,將請求給多個應用服務處理;
event: 主要存放事件相關代碼,包括兩個子目錄publish和subscribe,放發布訂閱相關代碼,這里可以領不同領域服務訂閱也可以是微服務之間的訂閱;
service:應用服務,主要對外部的服務進行封裝、編排和封裝,提供粗粒度的服務,也是一段獨立的業務邏輯
Aggregate:聚合軟件包的根目錄,根據聚合的名稱命名,里面可以定義實體、聚合根、實體、值對象以及領域服務,可以獨立拆分成微服務;
Entity:存放聚合根、實體、值對象、工廠模式相關 代碼,統一實體的相關邏輯,都放在該類中,采用充血模式;
Event:存放事件實體以及事件活動相關的邏輯代碼;
Service:領域服務,根據不同的實體組合的業務邏輯;
Repository:存放聚合查詢和持久化領域對象的代碼;
Config:主要存放配置相關代碼,比如springboot自動配置內和集成第三方組件的配置;
Util:主要存放平臺、開發框架、消息、數據庫、緩存、文件、總線、網關、第三方類庫、通用算法等基礎代碼,你可以為不同的資源類別建立不同的子目錄;
到此,相信大家對“java三層架構和DDD分層架構是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。