出版時間:2010-3 出版社:清華大學(xué) 作者:麥卡錫 頁數(shù):374 譯者:UML China
Tag標(biāo)簽:無
前言
在閱讀了Eric Evans的書Domain-Driven Design,Tackling Complexity in the Heart Of Software之后,我設(shè)計軟件系統(tǒng)的方式完全改變了。之前,我常常以一種側(cè)重于以數(shù)據(jù)為中心設(shè)計軟件對象模型,我沒有真正聚焦于如何把行為和數(shù)據(jù)結(jié)合到對象中。我對這種新的思考方式感到如此震驚,因此我開始試圖找到能夠揭示Eric書中概念的代碼示例。我通常用Google搜索我的領(lǐng)域驅(qū)動設(shè)計(DDD)問題的答案,并且確實發(fā)現(xiàn)有些東西對我有幫助,但我依然渴求更多關(guān)于這個主題的知識?! ∥也坏貌凰阉?NET中的DDD答案,因為Eric的書是與技術(shù)無關(guān)的。本書的要點是架構(gòu)概念。里面到處有Java和Smalltalk的代碼示例,但不是關(guān)于架構(gòu)概念的。然后,就有了Jimmy Nilsson的書Applying Domain-Driven Design and Patterns,此時我開始看到可以用于連接DDD概念的更多模式。Jimmy把來自Martin Fowler的優(yōu)秀書籍Patterns of Enterprise Application Architecture的一些概念結(jié)合起來,并說明它們?nèi)绾斡兄诘玫胶玫腄DD設(shè)計原則。Jimmy也做了大量的工作,在他的書中提供了大量優(yōu)秀的.NET代碼示例,并引導(dǎo)讀者體驗了幾種按照DDD實現(xiàn)操作的方法。就在我剛看完Jimmy的書后,我開始訂閱Yahoo!Groups上的DDD RSS Group feed,這也給了我很多幫助。在DDD小組中,我發(fā)現(xiàn)的一件事情是人們一直在尋找一個能夠揭示DDD原則的.NET相關(guān)應(yīng)用。在閱讀了這些帖子之后,我決定撰寫這本書,把我懂得的關(guān)于如何使用DDD技術(shù)構(gòu)建.NET應(yīng)用的知識分享給開發(fā)人員社群。我猜我可能感覺有點內(nèi)疚,因為我讀了小組里如此多其他人的帖子,但我只是偶爾發(fā)帖?,F(xiàn)在,我編寫了一本書代替發(fā)帖!可能這將促使我更多地融入這個小組?! ∥覍戇@本書的主要目的是吸取Eric、Martin和Jjmmy書中的思想和模式,構(gòu)建一個真實的端到端.NET應(yīng)用。我確實希望說明我如何使用DDD原則在.NET中構(gòu)建一個領(lǐng)域模型的某些想法,但是,我并非只是構(gòu)建老的.NET應(yīng)用,我也要嘗試一些Microsoft在構(gòu)建應(yīng)用方面的最新技術(shù),如Visual Studio 2008和.NET3.5框架?! ”緯x者對象 本書針對希望精通面向?qū)ο蟮脑O(shè)計技巧和學(xué)習(xí)DDD的有經(jīng)驗的.NET開發(fā)人員。如果您不在這個級別,也是可以的,但我建議您至少有一些編寫.NET代碼或者Java代碼的經(jīng)驗。如果您之前沒有編寫過任何.NET代碼,則本書可能稍微有點難?! ∥乙餐扑]您閱讀之前提到的Eric Evans、Jimmy Nilsson和Martin Fowler的書籍。您不一定要讀,但我強烈推薦閱讀,因為這有助于您更好地理解本書的許多設(shè)計和模式?! ∫驗楸緯拿恳徽露冀⒃谇耙徽碌幕A(chǔ)上,所以我建議您按順序閱讀。
內(nèi)容概要
這是第一本也是唯一一本關(guān)于使用C#實現(xiàn)領(lǐng)域驅(qū)動設(shè)計的技術(shù)書籍,本書介紹了構(gòu)建實際應(yīng)用系統(tǒng)的全過程。本書的項目基于一個現(xiàn)有公司的實際系統(tǒng),重點介紹了領(lǐng)域驅(qū)動設(shè)計和構(gòu)建支持領(lǐng)域驅(qū)動設(shè)計的框架?! ∶恳徽露及凑涨逦膶哟谓Y(jié)構(gòu)分成特定的模塊,介紹了如何選擇最佳的解決方案,然后采取相應(yīng)的設(shè)計來解決問題。所有章節(jié)構(gòu)建了一個完整的項目,在創(chuàng)建系統(tǒng)代碼的過程中您可以學(xué)到重要的實踐技能?! ”緯饕獌?nèi)容 ◆何時、為什么以及如何使用領(lǐng)域驅(qū)動設(shè)計 ◆如何設(shè)計和構(gòu)建初始的領(lǐng)域模型 ◆如何實現(xiàn)“持久化無關(guān)” ◆如何為領(lǐng)域模型構(gòu)建倉儲框架 ◆將TDD應(yīng)用到領(lǐng)域模型的技能 ◆如何應(yīng)用模型—視圖—視圖模型模式 ◆如何構(gòu)建客戶端會員管理系統(tǒng) ◆如何將客戶系統(tǒng)和服務(wù)器同步 本書讀者對象 本書面向有經(jīng)驗的C#和.NET開發(fā)人員,以進一步提升讀者編寫高性能和可擴展的應(yīng)用程序的技能。
作者簡介
Tim McCarthy是一名自由職業(yè)的咨詢師,他采用最新的Microsoft平臺和技術(shù)設(shè)計和構(gòu)建分層的Web和智能客戶系統(tǒng)。Tim是一個解決方案架構(gòu)方面的Microsoft MVP,他精通各種各樣的Microsoft技術(shù),不僅局限于以下技術(shù):.NET Framework(ASP.NET/智能客戶NSTO/工作流/Web服務(wù)、Windows Presentation Foundation)、SQL Server、Active Directory、MS Exchange開發(fā)、UDDI、SharePoint和面向服務(wù)架構(gòu)(SOA)應(yīng)用。Tim不僅是一個項目技術(shù)主管/成員,而且在一些財富500強公司擔(dān)任技術(shù)咨詢。
書籍目錄
第1章 介紹項目:SmartGA系統(tǒng) 1.1 問題 1.2 設(shè)計 1.2.1 可靠性和可得性 1.2.2 伸縮性 1.2.3 可維護性 1.2.4 富客戶應(yīng)用功能 1.2.5 離線可得 1.2.6 Web訪問 1.2.7 智能安裝和自動更新功能 1.2.8 附加客戶設(shè)備支持 1.3 解決方案 1.3.1 滿足可靠性、可得性、伸縮性、離線可得和附加客戶設(shè)備支持需求 1.3.2 滿足可維護性需求 1.3.3 滿足富客戶應(yīng)用功能需求 1.3.4 滿足Web訪問需求 1.3.5 滿足智能安裝和自動更新功能需求 1.4 總結(jié) 第2章 設(shè)計分層架構(gòu) 2.1 問題 2.2 設(shè)計 2.2.1 設(shè)計Visual Studio解決方案 2.2.2 設(shè)計基礎(chǔ)設(shè)施層 2.3 解決方案 2.3.1 實現(xiàn)Visual Studio解決方案 2.3.2 實現(xiàn)架構(gòu)層 2.4 總結(jié) 第3章 管理項目 3.1 問題 3.2 設(shè)計 3.2.1 設(shè)計領(lǐng)域模型 3.2.2 定義項目聚合 3.2.3 定義聚合邊界 3.2.4 設(shè)計倉儲 3.2.5 編寫單元測試 3.3 解決方案 3.3.1 Project類 3.3.2 實現(xiàn)倉儲 3.3.3 實現(xiàn)服務(wù)類 3.3.4 實現(xiàn)項目信息視圖模型 3.3.5 實現(xiàn)項目信息視圖 3.4 總結(jié) 第4章 公司和聯(lián)系人 4.1 問題 4.2 設(shè)計 4.2.1 設(shè)計領(lǐng)域模型 4.2.2 定義Company聚合和Contact聚合 4.2.3 定義聚合邊界 4.2.4 設(shè)計倉儲 4.2.5 編寫單元測試 4.3 解決方案 4.3.1 Company類 4.3.2 Contact類 4.3.3 ProjectContact類 4.3.4 實現(xiàn)倉儲 4.3.5 實現(xiàn)服務(wù)類 4.3.6 Company視圖模型 4.3.7 Company視圖 4.3.8 項目聯(lián)系人視圖模型 4.3.9 項目聯(lián)系人視圖 4.4 總結(jié) 第5章 遞交傳送 5.1 問題 5.2 設(shè)計 5.2.1 設(shè)計領(lǐng)域模型 5.2.2 定義Submittal聚合 5.2.3 定義聚合邊界 5.2.4 設(shè)計倉儲 5.2.5 編寫單元測試 5.3 解決方案 5.3.1 實現(xiàn)Submittal倉儲 5.3.2 實現(xiàn)Submittal服務(wù)類 5.3.3 Submittal視圖模型 5.3.4 Submittal視圖 5.4 總結(jié) 第6章 信息請求 6.1 問題 6.2 設(shè)計 6.2.1 設(shè)計領(lǐng)域模型 6.2.2 定義RFI聚合 6.2.3 定義聚合邊界 6.2.4 設(shè)計倉儲 6.2.5 編寫單元測試 6.3 解決方案 6.3.1 實現(xiàn)RFI倉儲 6.3.2 實現(xiàn)RFI服務(wù)類 6.3.3 RFI視圖模型類 6.3.4 RFI視圖 6.4 總結(jié) 第7章 提案請求 7.1 問題 7.2 設(shè)計 7.2.1 設(shè)計領(lǐng)域模型 7.2.2 設(shè)計提案請求聚合 7.2.3 定義聚合邊界 7.2.4 設(shè)計倉儲 7.2.5 編寫單元測試 7.3 解決方案 7.3.1 提案請求類的私有字段和構(gòu)造器 7.3.2 ProposalRequest屬性 7.3.3 Validate方法 7.3.4 實現(xiàn)提案請求倉儲 7.3.5 實現(xiàn)提案請求服務(wù)類 7.3.6 提案請求視圖模型類 7.3.7 提案請求視圖 7.4 總結(jié) 第8章更改單 第9章 施工更改指令 第10章 和服務(wù)器同步 第11章 客戶會員管理系統(tǒng)
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
領(lǐng)域驅(qū)動設(shè)計C# 2008實現(xiàn) PDF格式下載