傳統的三層架構主要分為業務介面層、業務邏輯層、資料存取層
業務介面層:主要是API的定義,包括資源路徑定義、請求封包接受、回應封包回傳、請求編碼等定義的內容;
業務邏輯層:主要做業務邏輯處理,這一層包括資料映射DTO轉VO,業務核心邏輯編寫,組合不同資料倉庫,做業務邏輯;
資料存取層:主要做資料存儲,包括資料映射VO轉PO,資料介面的定義,映射XML的編寫。
DDD分層架構也可以叫四層架構,主要由使用者介面層、應用層、領域層、基礎層;
使用者介面層:負責向使用者顯示資訊和解釋使用者指令,例如使用者、程式、自動化腳本、批次腳本等;
應用程式層:主要用於協調多個聚合的服務和領域物件完成服務編排和組合,可以調本地也可以調遠端的服務、包含權限驗證、交易控制、防重冪等,不要把核心的業務邏輯放到這裡;
領域層:實作核心邏輯,包括聚合根、實體、值物件、領域服務,包括業務擴充點、校驗規則、組合聚合服務等相關功能;
基礎層:提供通用的技術和基礎服務,包括一些第三方工具類別、快取、資料庫、檔案等,採用依賴倒置的設計,於其他層解耦。
三層架構向DDD架構演變,主要發生在邏輯層和資料庫存取層
新增DTO,給前端資料可用性更高,更靈活;
#三層架構的業務邏輯層改為應用層和領域層,使得業務邏輯不混亂,應用快速回應前端的變化;
基礎層和資料存取層的設計變化,透過依賴倒置實現基礎設定對基礎資源的解耦,應對主流技術的變化。
Assembler:DTO與實體對象相互轉換與資料交換,與DTO同時出現;
Dto:資料傳輸載體,DTO可以將領域物件與外界隔離;
Facade:粗接口粒度定義,將請求給多個應用服務處理;
event: 主要存放事件相關程式碼,包括兩個子目錄publish和subscribe,放發布訂閱相關程式碼,這裡可以領不同領域服務訂閱也可以是微服務之間的訂閱;
service:應用程式服務,主要對外部的服務進行封裝、編排與封裝,提供粗粒度的服務,也是一段獨立的業務邏輯
#
以上是java三層架構和DDD分層架構是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!