
彭晨陽
《複雜軟件設計之道:領域驅動設計全面解析與實戰》同時引入了DDD的最新發展成果,如事件風暴建模,並以此建模方式替代傳統的DDD建模方式講解了多個案例。還涉及大量軟件系統實現相關的技術和架構,讀者在學習DDD的同時,也可以掌握這些技術、架構在DDD實現中的靈活應用。另外,每個概念或方法的講解過程都穿插了具體實例,以方便讀者結合實例進行學習;第2~7章每章最後都有總結與拓展,將本章涉及的案例和知識進行總結,並引入國際DDD專家的心得經驗,試圖告訴讀者一條DDD實戰中行之有效的途徑。《複雜軟件設計之道:領域驅動設計全面解析與實戰》主要面向擁有一定實踐經驗的軟件產品經理、領域專家、軟件設計開發相關從業人員,相關初級從業者也可閱讀本書。
誇大了DDD的價值,看過幾本相關書結合在團隊中實踐,個人觀點是DDD不會成爲有生命力的主流設計模式,原因在於它是脫離大衆脫離實際的,斷言它最後會和j2ee一樣,進入歷史的博物館。DDD中確實有很多理念和設計是有價值的,然後大部分並不是DDD所發明創造的,而是它發明了一整套新的概念來把已有的很多做法加以闡述。同時過於強調業務語言設計和概念,導致它只能在少數全部成員都熟悉精通DDD的團隊,且業務特性又剛好適配的情況中發揮作用。這也是爲什麼說DDD是脫離羣衆的。
書中內容太冗餘,太擴散。 每個章節的內容大部分再講不相關的內容,有點浪費時間。反而會把重要的信息淹沒掉。 另外,感覺每個章節是拼湊起來的,前後沒有一定的連貫性,甚至有些句子也缺乏邏輯性。 總之,不太建議初學者看!
文中大量的語法錯誤(準確說是中文語法錯誤,比如不斷句、主語缺失或漂移),讓讀者能夠體驗到英文科技文獻的閱讀感受。邏輯被淹沒在長難句解析裏,找不到,理不出。
書裏提供了一種解題思路,銜接業務、產品和技術,讓業務架構更加貼合實際生產的同時,具備更好的擴展性。 無論是應對大型項目還是中小型需求,這套思路都能協助架構師做出相對合理的系統邊界的定義,在協調跨域技術方案的合理性問題上,能夠給出不錯的建議。 讀一本書重點是抓到自己需要的知識,不同人、不同階段能吸收 和 想吸收的內容不同,所以書評反差比較大也屬於正常,仁者見仁、智者見智。
更多是一種大腦思維方式和建模方式
DDD是很糟糕的東西,是老黃曆,是過去單體模式下的產物。在當前拆封微服務的前提下,基本沒有價值。微服務下,單個服務代碼規模,根本達不到需要DDD的規模,強行使用,就是在脫褲子放屁!請不要使用DDD! 你只需要拆微服務。 簡單直觀的設計,優於複雜不自然的。 凡不自然的,必然不是好的。大道至簡。切記!
花費一個多月利用地鐵上下班時間看完這本書,前幾章都是介紹傳統建模的缺陷,DDD建模的產生背景,是如何應運而生的。接着講解DDD方法論,包括戰略設計何戰術設計,如何發現有界上下文,核心子域和支持子域,聚合發現,活動和實踐,以及相關建模業務概念。同時介紹了基於DDD的產生架構,譬如整潔架構,六邊形架構,CQRS架構,這些架構的設計理念和思想。並結合相關案例,通過DDD如何實施與建模。部分章節比較枯燥,全部是理論概念,只有結合案例才能加深理解。總體還是不錯了,算作自己第一本理解DDD設計思想的書籍吧,可以指導自己在公司系統架構的相關借鑑,促使自己從面向對象設計與面向ER設計,向DDD設計思想轉變。從實際來講,完全應用到項目之中不太切實,畢竟客觀情況放在這兒,每個人對DDD只是瞭解,缺乏應用與實踐,這也是大多數公司技術研發面臨的現狀。
作者廢話比較多,往往一個觀點來來回回說,並且還有講分佈式事務的,精簡一下基本上可以少個1/3甚至更多。對於上下文,子域,聚合根,值對象等的描述還算比較清晰,不過相對於經典的那兩本書還是顯得囉嗦,比較好的是結合了自己維護的一個網站做的闡述。還有書中的一些觀點是爲了誇ddd才加上的。。顯得過於刻意。。
整體還是不錯的,在原版基礎上有理論有實踐,作者把DDD周邊的技術,架構都整合到了本書中,也算是對讀者的一種概念普及,而且可以融匯到具體的案例中。 最後一個例子看不進去,不知道是不是作者時間倉促,表叔方式的原因,這種實踐性的可能不太容易用文字來表示吧。 感謝作者
領域驅動設計更趨近於現實世界的構建模式和思維。本書作者對領域驅動設計有着較爲深刻的實踐經驗,全書貫穿着詳細的案例、代碼示例以及作者的感悟與經驗總結。在閱讀過程中,有很多點給人以豁然開朗的感覺。 通讀一遍之後,對領域驅動設計有了思想與理念上感知,在實踐也有了些落腳點。本書將作爲以後在實踐領域驅動設計過程中不斷翻閱的指導書。