郵箱:www.jungshuodz@163.com
手機:18268652722
電話:18268652722
地址:寧波市北侖區(qū)大碶廟前山路45號
人氣:
大家好,我是一名Java實習生,已經練習了兩年半了。今天我們要講的是架構設計中的一個模式,領域驅動設計,也稱為DDD,Domain-Driven Design。 DDD不僅可以用于微服務設計,也可以很好地應用于企業(yè)中臺的設計,也適合傳統(tǒng)的單體應用。但無論如何,請拋開偏見,認真學習Eric Evans的《領域驅動設計》。如果你對認知升級有深入的了解,那么恭喜你,你已經進步了。
它是一種軟件設計方法,根據領域專家的輸入對軟件進行建模以匹配領域。我們可以看到,領域建模中對應的折扣接口指導我們在項目設計時以策略模式來實現,從而在保證各個模塊滿足單一職責原則的同時,添加不同的折扣功能。領域模型:領域模型就好比是描述領域中的實體、屬性、關系和行為的地圖。 UMLChina創(chuàng)始人,UMLChina是國內最早引入領域驅動設計的機構之一。
DDD指領域驅動設計,是一種主要致力于解決復雜業(yè)務領域的建模和實現問題的軟件設計方法論。我們可以看到,根據領域模型提取出來的服務和對象的組合,更像是我們平時設計的價值對象和服務之間的關系。領域驅動設計(DDD)是一種軟件開發(fā)方法,旨在幫助開發(fā)團隊更好地理解業(yè)務需求并將其映射到軟件設計中。
實體是域中具有唯一身份和生命周期的對象。值對象是沒有唯一標識和生命周期的對象。聚合是實體和值對象的集合。倉儲是一種用于存儲和檢索聚合的機制。服務是域。一些操作或過程。現在假設我們需要管理足球運動員信息,那么相應的領域模型和數據模型應該如何設計呢?問題空間框架了我們想要解決的問題的背景。這種上下文并不是軟件工程或領域驅動所獨有的,而是一個普遍的共同元素。
至此,領域已經確定?,F在可以根據領域來劃分任務。小組成員負責一個或多個領域的詳細設計。這個階段就是大家都非常熟悉的用例圖、活動圖、序列圖、數據庫設計、界面設計。使用。離線活動:當活動不需要繼續(xù)時,您可以對活動進行離線操作。 《領域驅動設計:如何應對軟件的核心復雜性》適合面向對象的軟件開發(fā)人員和各個級別的系統(tǒng)分析師閱讀。
DDD的核心思想是以業(yè)務領域為設計核心,將業(yè)務領域的概念和規(guī)則融入到軟件系統(tǒng)中,以滿足業(yè)務需求。當可以自由選擇重構的部分時,首先應該著眼于更好地提取核心領域,完善核心的分離,將支撐子領域細化為通用子領域。
相關推薦