domain driven design一書還沒有完整地看完,只能就一些部分做些介紹,只能等以後迭代重構,直到得到這本書的model.
軟體是知識的載體,模型是領域知識的結晶
擠壓知識
一般開發複雜的軟體都需要領域專家和軟體開發人員密切合作,開發人員快速地學習領域知識(但一般不可能很快成為專家),領域專家也可能學習一些軟體知識(一般能理解類圖,但不要希望他們明白uml和usecase),雙方發展出共同的領域語言(與軟體技術無關)。書中講述了乙個電路設計軟體的例子,所以ddd是以擠壓知識開始的,自然開發人員需要很好的快速學習能力。
迭代和重構
它的過程是迭代和重構的。建模與編寫**合一,因為不好的編碼將使得模型走型和消失。所以僱傭五個願意合作的老手而不要用三十個新手,不要將人員明顯地分為兩個層次,建模人員和程式設計師,然後鼻子一哼,輕蔑地把寫程式貶低為coding.
重構的三個層次
從最細微的**級微重構,到面向設計模式的重構,第三個層次也是最高的是面向領域模型的重構。隨著開發人員對領域認識的加深,更深層的領域模型會帶來重構的機會。
該書的第三部分重點講了重構。
柔軟的設計
重構需要柔軟的設計來支援。書中用了自行車的鏈條式結構來比喻,這需要設計人員有很好的技巧。
好的模型
好的模型就像合適的手套,更容易適應變化,這就是付出巨大努力帶來的好處
應用分析模式和設計模式
這些東西在書中串了起來。
IT技術的三個層次
全稱 informationtechnology,即資訊科技 it實際上有三個層次 第一層是硬體,主要指資料儲存 處理和傳輸的主機和網路通訊裝置 第二層是指軟體,包括可用來蒐集 儲存 檢索 分析 應用 評估資訊的各種軟體,它包括我們通常所指的erp 企業資源計畫 crm 客戶關係管理 scm 鏈管理...
學習的三個層次
老僧三十年前未參禪時,見山是山,見水是水。及至後來,親見知識,有個入處。見山不是山,見水不是水。而今得個休歇處,依前見山只是山,見水只是水。大眾,這三般見解,是同是別?有人緇素得出,許汝親見老僧。青原惟信禪師 五燈會元 卷十七 一 見山是山,見水是水 背菜譜階段 我們應該接受迅速失敗,而不是緩慢失敗...
B S模型的三個層次
表示層 web瀏覽器。位於客戶端,其任務是通過web瀏覽器向網路上的某個web伺服器提出服務請求,web服務請求,web伺服器對使用者身份進行驗證後用http協議把所需的頁面傳送給客戶,並顯示在web瀏覽器上 功能層 具有應用程式擴充套件功能的web伺服器。負責事物邏輯處理,位於web伺服器端,其任...