領(lǐng)域驅(qū)動設(shè)計與模式實戰(zhàn)是一本將企業(yè)應(yīng)用架構(gòu)模式和領(lǐng)域驅(qū)動設(shè)計兩大名著精髓的實戰(zhàn)演練書籍,由瑞典程序員尼爾森(Jimmy Nilsson)編著。全書內(nèi)容豐富翔實,將Martin Fowler企業(yè)應(yīng)用架構(gòu)模式和Eric Evans領(lǐng)域驅(qū)動設(shè)計兩部經(jīng)典名著中的思想精髓以及重構(gòu)、測試驅(qū)動開發(fā)等技術(shù)融會貫通,并通過大量C#實例加以闡釋,跨越了領(lǐng)域模型、數(shù)據(jù)庫與UI層之間的障礙。真實展示了創(chuàng)建高質(zhì)量的企業(yè)級應(yīng)用架構(gòu)的全部過程,歡迎有需要的朋友免費下載。
內(nèi)容介紹
《領(lǐng)域驅(qū)動設(shè)計與模式實戰(zhàn)》全面詳細(xì)地解釋了領(lǐng)域驅(qū)動設(shè)計、測試驅(qū)動開發(fā)、依賴注入、持久化、重構(gòu)、模式等很多基本概念,并以C#和。NET實例為依托,展示了這些概念的實際應(yīng)用和重要價值。更重要的是,本書還將這些概念整合到一起,為開發(fā)人員從頭至尾地揭示了完整的開發(fā)路線。閱讀本書后,讀者將能真正掌握這些重要概念,并有效地將它們結(jié)合起來,應(yīng)用到實際開發(fā)過程中,適合軟件架構(gòu)師和開發(fā)人員閱讀。
章節(jié)目錄
第一部分 背景知識 第1章 應(yīng)重視的價值,也是對過去幾年的沉重反思 1.1 總體價值 1.2 應(yīng)重視的架構(gòu)風(fēng)格 1.2.1 焦點之一:模型 1.2.2 焦點之二:用例 1.2.3 如果重視模型,就可以使用領(lǐng)域模型模式 1.2.4 慎重處理數(shù)據(jù)庫 1.2.5 領(lǐng)域模型與關(guān)系數(shù)據(jù)庫之間的阻抗失配 1.2.6 謹(jǐn)慎處理分布式 1.2.7 消息傳遞很重要 1.3 對過程的各個組成部分的評價 1.3.1 預(yù)先架構(gòu)設(shè)計 1.3.2 領(lǐng)域驅(qū)動設(shè)計 1.3.3 測試驅(qū)動開發(fā) 1.3.4 重構(gòu) 1.3.5 選擇一種還是選擇組合 1.4 持續(xù)集成 1.4.1 解決方案(或至少是正確方向上的一大步) 1.4.2 從我的組織汲取的教訓(xùn) 1.4.3 更多信息 1.5 不要忘記運行機(jī)制 1.5.1 有關(guān)何時需要運行機(jī)制的一個例子 1.5.2 運行機(jī)制的一些例子 1.5.3 它不僅僅是我們的過錯 1.6 小結(jié) 第2章 模式起步 2.1 模式概述 2.1.1 為什么要學(xué)習(xí)模式 2.1.2 在模式方面要注意哪些事情 2.2 設(shè)計模式 2.3 架構(gòu)模式 2.3.1 示例:層 2.3.2 另一個示例:領(lǐng)域模型模式 2.4 針對具體應(yīng)用程序類型的設(shè)計模式 2.5 領(lǐng)域模式 2.6 小結(jié) 第3章 TDD與重構(gòu) 3.1 TDD 3.1.1 TDD流程 3.1.2 演示 3.1.3 設(shè)計效果 3.1.4 問題 3.1.5 下一個階段 3.2 模擬和樁 3.2.1 典型單元測試 3.2.2 聲明獨立性 3.2.3 處理困難因素 3.2.4 用測試樁替換協(xié)作對象 3.2.5 用模擬對象替換協(xié)作對象 3.2.6 設(shè)計含義 3.2.7 結(jié)論 3.2.8 更多信息 3.3 重構(gòu) 3.4 小結(jié) 第二部分 應(yīng)用DDD 第4章 新的默認(rèn)架構(gòu) 4.1 新的默認(rèn)架構(gòu)的基礎(chǔ)知識 4.1.1 從以數(shù)據(jù)庫為中心過渡到以領(lǐng)域模型為中心 4.1.2 進(jìn)一步關(guān)注DDD 4.1.3 根據(jù)DDD進(jìn)行分層 4.2 輪廓 4.2.1 領(lǐng)域模型示例的問題/特性 4.2.2 逐個處理特性 4.2.3 到目前為止的領(lǐng)域模型 4.3 初次嘗試將UI與領(lǐng)域模型掛接 4.3.1 基本目標(biāo) 4.3.2 簡單UI的當(dāng)前焦點 4.3.3 為客戶列出訂單 4.3.4 添加訂單 4.3.5 剛才我們看到了什么 4.4 另一個維度 4.4.1 領(lǐng)域模型的位置 4.4.2 孤立或共享的實例 4.4.3 有狀態(tài)或無狀態(tài)領(lǐng)域模型實例化 4.4.4 領(lǐng)域模型的完整實例化或子集實例化 4.5 小結(jié) 第5章 領(lǐng)域驅(qū)動設(shè)計進(jìn)階 5.1 通過簡單的TDD實驗來精化領(lǐng)域模型 5.1.1 從Order和OrderFactory的創(chuàng)建開始 5.1.2 一些領(lǐng)域邏輯 5.1.3 第二個任務(wù):OrderRepository+OrderNumber 5.1.4 重建持久化的實體:如何從外部設(shè)置值 5.1.5 獲取訂單列表 5.1.6 該到討論實體的時候了 5.1.7 再次回到流程上來 5.1.8 總覽圖 5.1.9 建立OrderRepository的偽實現(xiàn) 5.1.10 簡單討論一下保存 5.1.11 每個訂單的總量 5.1.12 歷史客戶信息 5.1.13 實例的生命周期 5.1.14 訂單類型 5.1.15 訂單的介紹人 5.2 連貫接口 5.3 小結(jié) 第6章 準(zhǔn)備基礎(chǔ)架構(gòu) 6.1 將POCO作為工作方式 6.1.1 實體和值對象的PI 6.1.2 是否使用PI 6.1.3 運行時與編譯時PI 6.1.4 PI實體/值對象的代價 6.1.5 將PI用于存儲庫 6.1.6 單組存儲庫的代價 6.2 對保存場景的處理 6.3 建立偽版本機(jī)制 6.3.1 偽版本機(jī)制的更多特性 6.3.2 偽版本的實現(xiàn) 6.3.3 影響單元測試 6.4 數(shù)據(jù)庫測試 6.4.1 在每次測試之前重置數(shù)據(jù)庫 6.4.2 在測試運行期間保持?jǐn)?shù)據(jù)庫的狀態(tài) 6.4.3 測試之前重置測試所使用的數(shù)據(jù) 6.4.4 不要忘記不斷演變的模式 6.4.5 分離單元測試和數(shù)據(jù)庫調(diào)用測試 6.5 查詢 6.5.1 單組查詢對象 6.5.2 單組查詢對象的代價 6.5.3 將查詢定位到哪里 6.5.4 再次將聚合作為工具 6.5.5 將規(guī)格用于查詢 6.5.6 其他查詢選擇 6.6 小結(jié) 第7章 應(yīng)用規(guī)則 7.1 規(guī)則的分類 7.2 規(guī)則的原則及用法 7.2.1 雙向規(guī)則檢查:可選的(可能的)主動檢查,必需的(和自動的)被動檢查 7.2.2 所有狀態(tài)(即使是錯誤狀態(tài))都應(yīng)該是可保存的 7.2.3 規(guī)則應(yīng)該高效使用 7.2.4 規(guī)則應(yīng)該是可配置的,以便添加自定義規(guī)則 7.2.5 規(guī)則應(yīng)與狀態(tài)放在一起 7.2.6 規(guī)則應(yīng)該具有很高的可測試性 7.2.7 系統(tǒng)應(yīng)阻止我們進(jìn)入錯的狀態(tài) 7.3 開始創(chuàng)建API 7.3.1 上下文,上下文,還是上下文 7.3.2 數(shù)據(jù)庫約束 7.3.3 將規(guī)則綁定到與領(lǐng)域有關(guān)的轉(zhuǎn)換,還是綁定到與基礎(chǔ)架構(gòu)有關(guān)的轉(zhuǎn)換 7.3.4 精化原則:所有狀態(tài),即使是錯誤狀態(tài),都應(yīng)該是可保存的 7.4 與持久化有關(guān)的基本的規(guī)則API的需求 7.4.1 回到已發(fā)現(xiàn)的API問題上 7.4.2 問題是什么 7.4.3 我們允許了不正確的轉(zhuǎn)換 7.4.4 如果忘記檢查怎么辦 7.5 關(guān)注與領(lǐng)域有關(guān)的規(guī)則 7.5.1 需要合作的規(guī)則 7.5.2 使用基于集合的處理方法 7.5.3 基于服務(wù)的驗證 7.5.4 在不應(yīng)該轉(zhuǎn)換時嘗試轉(zhuǎn)換 7.5.5 業(yè)務(wù)ID 7.5.6 避免問題 7.5.7 再次將聚合作為工具 7.6 擴(kuò)展API 7.6.1 查詢用于設(shè)置UI的規(guī)則 7.6.2 使注入規(guī)則成為可能 7.7 對實現(xiàn)進(jìn)行精化 7.7.1 一個初步實現(xiàn) 7.7.2 創(chuàng)建規(guī)則類,離開最不成熟的階段 7.7.3 設(shè)置規(guī)則列表 7.7.4 使用規(guī)則列表 7.7.5 處理子列表 7.7.6 一個API改進(jìn) 7.7.7 自定義 7.7.8 為使用者提供元數(shù)據(jù) 7.7.9 是否適合用模式來解決此問題 7.7.10 復(fù)雜規(guī)則又是什么情況 7.8 綁定到持久化抽象 7.8.1 使驗證接口成為可插入的 7.8.2 在保存方面實現(xiàn)被動驗證的替代解決方案 7.8.3 重用映射元數(shù)據(jù) 7.9 使用泛型和匿名方法 7.10 其他人都做了什么 7.11 小結(jié) 第三部分 應(yīng)用PoEAA 第8章 用于持久化的基礎(chǔ)架構(gòu) 8.1 持久化基礎(chǔ)架構(gòu)的需求 8.2 將數(shù)據(jù)存儲到哪里 8.2.1 RAM 8.2.2 文件系統(tǒng) 8.2.3 對象數(shù)據(jù)庫 8.2.4 關(guān)系數(shù)據(jù)庫 8.2.5 使用一個還是多個資源管理器 8.2.6 其他因素 8.2.7 選擇和前進(jìn) 8.3 方法 8.3.1 自定義手工編碼 8.3.2 自定義代碼的代碼生成 8.3.3 元數(shù)據(jù)映射(對象關(guān)系(O/R)映射工具) 8.3.4 再次選擇 8.4 分類 8.4.1 領(lǐng)域模型風(fēng)格 8.4.2 映射工具風(fēng)格 8.4.3 起點 8.4.4 API焦點 8.4.5 查詢風(fēng)格 8.4.6 高級數(shù)據(jù)庫支持 8.4.7 其他功能 8.5 另一個分類:基礎(chǔ)架構(gòu)模式 8.5.1 元數(shù)據(jù)映射:元數(shù)據(jù)的類型 8.5.2 標(biāo)識字段 8.5.3 外鍵映射 8.5.4 嵌入值 8.5.5 繼承解決方案 8.5.6 標(biāo)識映射 8.5.7 操作單元 8.5.8 延遲加載/立即加載 8.5.9 并發(fā)控制 8.6 小結(jié) 第9章 應(yīng)用NHibernate 9.1 為什么使用NHibernate 9.2 NHibernate簡介 9.2.1 準(zhǔn)備 9.2.2 一些映射元數(shù)據(jù) 9.2.3 一個小的API示例 9.2.4 事務(wù) 9.3 持久化基礎(chǔ)架構(gòu)的需求 9.3.1 高級持久化透明 9.3.2 持久化實體的生命周期所需的特定特性 9.3.3 謹(jǐn)慎處理關(guān)系數(shù)據(jù)庫 9.4 分類 9.4.1 領(lǐng)域模型風(fēng)格 9.4.2 映射工具風(fēng)格 9.4.3 起點 9.4.4 API焦點 9.4.5 查詢語言風(fēng)格 9.4.6 高級數(shù)據(jù)庫支持 9.4.7 其他功能 9.5 另一種分類:基礎(chǔ)架構(gòu)模式 9.5.1 元數(shù)據(jù)映射:元數(shù)據(jù)類型 9.5.2 標(biāo)識字段 9.5.3 外鍵映射 9.5.4 嵌入值 9.5.5 繼承解決方案 9.5.6 標(biāo)識映射 9.5.7 操作單元 9.5.8 延遲加載/立即加載 9.5.9 并發(fā)性控制 9.5.10 額外功能:驗證掛鉤 9.6 NHibernate和DDD 9.6.1 程序集概覽 9.6.2 ISession和存儲庫 9.6.3 ISession、存儲庫和事務(wù) 9.6.4 得到了什么結(jié)果 9.7 小結(jié) 第四部分 下一步驟 第10章 博采其他設(shè)計技術(shù) 10.1 上下文為王 10.1.1 層和分區(qū) 10.1.2 分區(qū)的原因 10.1.3 限界上下文 10.1.4 限界上下文與分區(qū)有何關(guān)聯(lián) 10.1.5 向上擴(kuò)展DDD項目 10.1.6 為什么對領(lǐng)域模型——SO分區(qū) 10.2 SOA簡介 10.2.1 什么是SOA 10.2.2 為什么需要SOA 10.2.3 SOA有什么不同 10.2.4 什么是服務(wù) 10.2.5 服務(wù)中包括什么 10.2.6 深入分析4條原則 10.2.7 再來看一下什么是服務(wù) 10.2.8 OO在SOA中的定位 10.2.9 客戶-服務(wù)器和SOA 10.2.10 單向異步消息傳遞 10.2.11 SOA如何提高可伸縮性 10.2.12 SOA服務(wù)的設(shè)計 10.2.13 服務(wù)之間如何交互 10.2.14 SOA和不可用的服務(wù) 10.2.15 復(fù)雜的消息傳遞處理 10.2.16 服務(wù)的可伸縮性 10.2.17 小結(jié) 10.3 控制反轉(zhuǎn)和依賴注入 10.3.1 任何對象都不是孤島 10.3.2 工廠、注冊類和服務(wù)定位器 10.3.3 構(gòu)造方法依賴注入 10.3.4 setter依賴注入 10.3.5 控制反轉(zhuǎn) 10.3.6 使用了Spring.NET框架的依賴注入 10.3.7 利用PicoContainer.NET進(jìn)行自動裝配 10.3.8 嵌套容器 10.3.9 服務(wù)定位器與依賴注入的比較 10.3.10 小結(jié) 10.4 面向方面編程 10.4.1 熱門話題有哪些 10.4.2 AOP術(shù)語定義 10.4.3 .NET中的AOP 10.4.4 小結(jié) 10.5 小結(jié) 第11章 關(guān)注UI 11.1 提前結(jié)語 11.2 模型-視圖-控制器模式 11.2.1 示例:Joe的Shoe Shop程序 11.2.2 通過適配器簡化視圖界面 11.2.3 將控制器從視圖解耦 11.2.4 將視圖和控制器結(jié)合起來 11.2.5 是否值得使用MVC 11.3 測試驅(qū)動的Web窗體 11.3.1 背景 11.3.2 一個示例 11.3.3 領(lǐng)域模型 11.3.4 GUI的TDD 11.3.5 Web窗體實現(xiàn) 11.3.6 小結(jié) 11.3.7 用NMock創(chuàng)建模擬 11.4 映射和包裝 11.4.1 映射和包裝 11.4.2 用表示模型來包裝領(lǐng)域模型 11.4.3 將表示模型映射到領(lǐng)域模型 11.4.4 管理關(guān)系 11.4.5 狀態(tài)問題 11.4.6 最后的想法 11.5 小結(jié) 11.6 結(jié)束語 第五部分 附錄 附錄A 其他領(lǐng)域模型風(fēng)格 附錄B 已討論的模式的目錄
使用說明
1、下載并解壓,得出pdf文件
2、如果打不開本文件,請務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進(jìn)行閱讀
- 下載地址
- 本地下載通道:
- 浙江電信下載
- 北京聯(lián)通下載
- 江蘇電信下載
- 廣東電信下載
有問題? 點此報錯
發(fā)表評論
1人參與,1條評論- 第1樓河北省廊坊市電信網(wǎng)友發(fā)表于: 2020-02-15 09:52:53
- 很需要0蓋樓(回復(fù))
軟件排行榜
熱門推薦
- 得間免費小說電腦版 v5.2.7.172.56M / 簡體中文
- 網(wǎng)易新聞電腦版 v112.697.63M / 簡體中文
- 瀟湘書院電腦版 v2.3.11.888官方版49.65M / 簡體中文
- 數(shù)據(jù)挖掘?qū)д?官方版61.61M / 簡體中文
- 吉利博瑞用戶手冊 pdf高清版57.89M / 簡體中文
- 開源閱讀電腦版 v3.2517.96M / 簡體中文
- 京東讀書電腦版 v1.13.4官方版1.98M / 簡體中文
- cnki全球?qū)W術(shù)快報電腦版 v0.2.3495.79M / 簡體中文
- docker入門實戰(zhàn) pdf完整版1.38M / 簡體中文
- Scala程序設(shè)計第二版 pdf高清完整版15.83M / 簡體中文