書籍推薦:領(lǐng)域驅(qū)動設(shè)計與模式實戰(zhàn)
2010-01-03 23:15 by 李永京, 3915 visits, 網(wǎng)摘, 收藏, 編輯我們在平時的學(xué)習(xí)中或多或少的接觸到一些領(lǐng)域驅(qū)動設(shè)計(Domain-Driven Design,,DDD)這些概念,這些概念也非常抽象,,最重要的在國內(nèi)也沒有這方面的優(yōu)秀書籍或者指導(dǎo)手冊,。也沒有一些典型的Sample提供我們學(xué)習(xí)DDD。
在DDD領(lǐng)域中,,就屬Eric Evans大師的“Domain-Driven Design: Tackling Complexity in the Heart of Software”和Jimmy Nilsson大師的“Applying Domain-Driven Design and Patterns”兩本書堪稱經(jīng)典之作,。
最近看了“Applying Domain-Driven Design and Patterns”中文版——人民郵電出版的“領(lǐng)域驅(qū)動設(shè)計與模式實戰(zhàn)”這本書,從書中的內(nèi)容和章節(jié)可以體會到Jimmy Nilsson大師是結(jié)合了Eric Evans大師的“Domain-Driven Design: Tackling Complexity in the Heart of Software”和面向?qū)ο蟠髱烳artin Fowler的“Patterns of Enterprise Application Architecture” 這兩本書的理論基礎(chǔ)和自己的實踐,,總結(jié)自己多年項目實踐心得寫在一本書里,,從寫作手法就可以看出作者的內(nèi)功極其深厚,把DDD的要點都談到了,,并進一步用 自己的代碼展示了這些觀點,。當然了,一本書的確不可能把每個知識點說的很深,,Jimmy有時也只是起到“指導(dǎo)”的角色,。留給大家的也是“動手探索”或者 “Google搜索”一下。
當然了,,對于開始學(xué)習(xí)DDD的人來說,,“領(lǐng)域驅(qū)動設(shè)計與模式實戰(zhàn)”這本書還是值得去看看,這本書主要說到了以下內(nèi)容:
測試驅(qū)動開發(fā)有下面要點:
Mock Objects
- Agile Value: decoupled software components must be tested in isolation
- Mocks, Stubs, TestDoubles, and Fakes
- Mocks syntax options
TDD
- Agile Value: consider your design from the perspective of its consumers
- Intent, methodology, values, and approach
領(lǐng)域驅(qū)動設(shè)計有下面要點:
DDD
- Agile Value: solve the problem and then select a technology
- Entities
- Value Objects
- Services
- Repositories
- Aggregate Roots
- Bounded Contexts
最后一部分應(yīng)用PoEAA,相信大家都品味過Martin Fowler的“Patterns of Enterprise Application Architecture”這本書,,說實在的,,這本書的理論知識太強了,每次讀都有不同的體會,,Jimmy把這本書里面的一些模式結(jié)合DDD在實際項目中實戰(zhàn)了一番,,從中我們進一步體會到更多的思想。
最后Jimmy介紹了最為經(jīng)典的ORM框架NHibernate的基本使用方法,,從我的角度來說,,這個章節(jié)感覺說的不怎么好,沒有把 NHibernate的東西介紹的很完美,。對了,,這不是一本專門針對NHibernate的書,但是國內(nèi)到現(xiàn)在還沒有一本專門介紹NHibernate的 書呢,,“領(lǐng)域驅(qū)動設(shè)計與模式實戰(zhàn)”還算是“第一本”,。然后作者使用NHibernate在程序中開始實戰(zhàn)DDD。
NHibernate
- Configuration
- Mapping
- Query
- 企業(yè)應(yīng)用
- DDD
最后這本書帶提了SOA,、IoC,、AOP這些內(nèi)容。
這本書的每一章節(jié)都要仔細的品味,,大小標題都起到了畫龍點睛的效果,,面面俱到。讀完之后,,我們需要把每一章節(jié)進行擴展融入更多的內(nèi)容,。首先還是先學(xué)習(xí)下ORM框架吧,NHibernate或者EF,,再聯(lián)合這本書慢慢的實現(xiàn)DDD之旅吧,。
不過實踐DDD,,目前與之配合最好的框架是ORM,,而ORM中最為經(jīng)典的是NHibernate,大家學(xué)習(xí)NHibernate可以參考下我的博客吧,。
一本書讓我們了解到挺多技術(shù),,相信這本書對于架構(gòu)師或者設(shè)計程序架構(gòu)的或者學(xué)習(xí)程序架構(gòu)實在太值了,等沒事的時候再仔細讀讀,,再體會體會,。