《領域驅動設計》讀書筆記1

2021-09-05 21:36:06 字數 1660 閱讀 2978

最近看了很多的書,深深感到讀書不寫筆記等於白讀,領域驅動設計是我準備在專案中主推的方**,所以自己要先做好功課。

第一部分讓領域模型發揮作用:

每個模型都代表了我們所感興趣的現實或觀點的某些方面。模型是一種簡化,它對現實進行闡述,只是抽象出與解決手頭問題有關的方面而忽略掉無關的細節問題。所以我們抽象出來模型不一定是對所有場景都是正確的,只要在某時,某地,某方面有用即可。模型是所有團隊成員所使用語言的核心。

第一章 消化知識

開始講的這個例子也有借鑑價值。

1.1有效建模的因素:

1、模型與現實相互繫結。未經加工的原型建立了早期必需的聯絡,在隨後的迭代中始終對它進行維護和完善。

2、某個模型生成了一種語言。模型為建立團隊中的共同語言起了推動作用。

3、開發了乙個包含豐富知識的模型。模型並不僅僅是乙個資料方案,它是解決乙個複雜問題必不可缺的。它捕獲了各種型別的知識。

4、提煉模型。在模型變得更加完善的過程中,一些重要的概念被加入其中。沒用的概念被去除。

5、頭腦風暴與實驗。草圖和頭腦風暴方式結合可以促進建模的成功,同時將討論出來的結果進行實踐也非常重要。

1.2知識消化

高效的領域建模人員就是知識的消化器,他們對大量資訊中的相關部分進行探查。他們嘗試了乙個有乙個組織方式,尋找一種對冗餘資訊中的簡單檢視。領域驅動設計中的消化知識需要大量的反饋,我們知道沒有反饋的溝通是低效的。

1.3持續學習

在編寫軟體的過程中,我們對知識的需求是永無止境。高效率的團隊依靠學習,有意識的增長自己的知識。對於開發人員來說,我們既要學習如何建模方面的知識,還要學習領域方面的知識。

1.4知識豐富的設計

業務活動與規則對於乙個領域來說與其涉及的實體同樣重要;領域也會包含各種類別的概念。對知識的消化能夠產生出反映這種理解的模型。在模型發生改變的同時,開發人員重構實現來表達模型,使得應用程式能使用得到知識。

1.5深層模型

有用的模型很少停留在表層關係上。

第二章 交流及語言的使用

基於模型的交流並不侷限於使用統一建模語言(uml)中的圖。為了更有效的使用模型,我們需要充分地使用每一種交流手段。

2.1通用語言

當乙個專案的語言存在斷層時,會面臨一系列的問題。領域專家使用自己的行話,而技術團隊成員卻按照設計的思路調整和使用自己的語言去討論領域。

天天進行討論時所使用的術語與嵌入到**中的術語**開來。甚至可能是同乙個人,在編寫文件或**時,也會使用跟交流討論時完全不同的語言,這會導致對於領域的某些深入描述只是短時間內存在,卻無法反映到**或文件鎮南關。

語言轉換減弱了交流的效果,使得知識積累也不盡如人意。

然而任何一種方言都不能夠為通用語言,因為它們都無法滿足所有需求。

要將模型做為語言的骨幹。團隊在所有的交流與**中都應該聯絡使用這種語言。在圖,文件編寫,尤其是在發表意見過程中都使用相同的語言。要意識到通用語言中的變化也是模型中的變化。

2.2利用對話改進模型

結合模型來討論系統。使用模型的元素和元素之間的互動來大聲描述場景,按照模型允許的方式把概念組合在一起。找到更簡單的方式來說出要表達的內容,然後將這些意見應用到圖形和**中。

2.3乙個團隊,一種語言

領域模型基本上市從領域專家的行話中得來,但是已經進行了整理,具有精確嚴密的定義。

有了通用語言,開發人員之間的會談,領域專家之間的討論以及**本身的表達都基於同一種語言,這來自於乙個共享的領域模型。

讀書筆記 領域驅動設計

領域驅動設計 讀書筆記 領域驅動設計我看了三遍,第一和第三遍是粗看,中間一遍是細看。總體感覺這本書很好,是領域建模的指導書。當看完這本書寫個總結是個任務,所以我準備這樣寫總結,先拋開書本憑經驗和從書本中獲得的知識來寫,然後對照書本來寫。拋開書本來看 領域建模,這個片語包括了三個詞,領域 構 建 模 ...

讀書筆記 設計 實現領域驅動設計(DDD)筆記

領域驅動設計,是一種架構思想,它不是關於技術的,而是關於討論 聆聽 發現和業務價值的,而這些都是為了把知識挖掘並表達出來。敏捷開發 ddd並非充滿繁文縟節的笨重的開發過程,相反它可以和敏捷很好的結合。可以採用 測試先行 逐步改進 的設計思路。其中重構是最必要的一步。領域分類 可以劃分為核心子域 支撐...

領域驅動設計,讀書筆記 2 消化知識

1 知識消化的過程 知識消化的過程 先給乙個典型的應用需求討論場景。和業務方不斷 需求,用開發者的角度闡述問題並得到他們的糾正,在這個過程中學習領域相關的術語,然後建立雙方都能接受的表達方式。在得到雙方認可的核心之後,開始編寫最簡單的原型,沒有持久化沒有介面使用假資料,關注邏輯和實體的關係。然後給需...