注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫(kù)測(cè)試驅(qū)動(dòng)數(shù)據(jù)庫(kù)開(kāi)發(fā)

測(cè)試驅(qū)動(dòng)數(shù)據(jù)庫(kù)開(kāi)發(fā)

測(cè)試驅(qū)動(dòng)數(shù)據(jù)庫(kù)開(kāi)發(fā)

定 價(jià):¥59.00

作 者: (美)Max,Guernsey,III 著,伍斌 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 計(jì)算機(jī)與互聯(lián)網(wǎng) 數(shù)據(jù)庫(kù)

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115346285 出版時(shí)間: 2014-05-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 270 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)的實(shí)踐已經(jīng)幫助眾多軟件開(kāi)發(fā)人員提高了軟件開(kāi)發(fā)的質(zhì)量、敏捷性、生產(chǎn)力和速度,《測(cè)試驅(qū)動(dòng)數(shù)據(jù)庫(kù)開(kāi)發(fā)》將展示如何對(duì)TDD進(jìn)行調(diào)整,以便在數(shù)據(jù)庫(kù)設(shè)計(jì)與開(kāi)發(fā)工作中獲得同樣強(qiáng)大的優(yōu)勢(shì)。《測(cè)試驅(qū)動(dòng)數(shù)據(jù)庫(kù)開(kāi)發(fā)》共4個(gè)部分,全面介紹測(cè)試驅(qū)動(dòng)數(shù)據(jù)庫(kù)開(kāi)發(fā)(TDDD)技術(shù)。第1章至~第4章重點(diǎn)討論數(shù)據(jù)庫(kù)的類(lèi)的基本概念,第5章至第9章討論如何用面向?qū)ο蟮姆绞絹?lái)精益地做數(shù)據(jù)庫(kù)的類(lèi)的設(shè)計(jì)以及修復(fù)設(shè)計(jì)的錯(cuò)誤,第10章至第13章討論使用mocking和重構(gòu)來(lái)應(yīng)對(duì)由傳統(tǒng)方法開(kāi)發(fā)出來(lái)的遺留數(shù)據(jù)庫(kù)的兩種方法,第14章和第15章討論如何使一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)能夠滿足不同客戶的不同需求,以及如何將本書(shū)的技術(shù)運(yùn)用到其他數(shù)據(jù)持久化方案之中?!稖y(cè)試驅(qū)動(dòng)數(shù)據(jù)庫(kù)開(kāi)發(fā)》適合沒(méi)有接觸過(guò)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)且正在開(kāi)發(fā)規(guī)模較大、需求多變的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)人員和架構(gòu)師閱讀,同時(shí)也適合尚未在持久化層運(yùn)用測(cè)試先行開(kāi)發(fā)技術(shù)的測(cè)試驅(qū)動(dòng)開(kāi)發(fā)愛(ài)好者閱讀。

作者簡(jiǎn)介

暫缺《測(cè)試驅(qū)動(dòng)數(shù)據(jù)庫(kù)開(kāi)發(fā)》作者簡(jiǎn)介

圖書(shū)目錄

目 錄
第1章 為何改變書(shū)的內(nèi)容、誰(shuí)是目標(biāo)讀者和什么是障礙 1
1.1 為何改變書(shū)的內(nèi)容 1
1.1.1 每天敏捷都在逐步地入侵我們的領(lǐng)域 2
1.1.2 若沒(méi)有TDD敏捷就沒(méi)有成效 2
1.1.3 在數(shù)據(jù)庫(kù)領(lǐng)域運(yùn)用TDD是個(gè)挑戰(zhàn) 3
1.2 誰(shuí)是目標(biāo)讀者 3
1.2.1 TDD和OOP 3
1.2.2 應(yīng)用程序和數(shù)據(jù)庫(kù) 4
1.3 什么是障礙 4
1.3.1 數(shù)據(jù)庫(kù)就是對(duì)象 4
1.3.2 TDD適用于類(lèi),不適用于對(duì)象 4
1.3.3 我們需要數(shù)據(jù)庫(kù)的類(lèi) 5
1.4 小結(jié) 6
第2章 建立數(shù)據(jù)庫(kù)的類(lèi) 7
2.1 TDD中類(lèi)的角色 7
2.1.1 可靠的實(shí)例化過(guò)程 7
2.1.2 測(cè)試檢查對(duì)象 8
2.2 面向?qū)ο缶幊陶Z(yǔ)言中的類(lèi) 8
2.2.1 類(lèi)的構(gòu)建很容易:構(gòu)建新對(duì)象即可 8
2.2.2 一條途徑:必要時(shí)析構(gòu) 9
2.3 數(shù)據(jù)庫(kù)的類(lèi) 9
2.3.1 兩條途徑:創(chuàng)建或改變 10
2.3.2 難點(diǎn):統(tǒng)一兩條途徑 10
2.3.3 真實(shí)的數(shù)據(jù)庫(kù)的生長(zhǎng)情況 11
2.3.4 將每個(gè)數(shù)據(jù)庫(kù)構(gòu)建成生產(chǎn)數(shù)據(jù)庫(kù)會(huì)怎么樣 11
2.3.5 所有數(shù)據(jù)庫(kù)都遵循完全相同的途徑 12
2.4 增量構(gòu)建 12
2.4.1 用文檔記錄每一次數(shù)據(jù)庫(kù)的變更 12
2.4.2 標(biāo)識(shí)當(dāng)前版本 13
2.4.3 根據(jù)需要依次實(shí)施變更 13
2.5 實(shí)現(xiàn) 13
2.5.1 需求 13
2.5.2 數(shù)據(jù)庫(kù)實(shí)例化機(jī)制的偽代碼 14
2.5.3 輸入的偽代碼 14
2.6 小結(jié) 14
第3章 講一點(diǎn)TDD 16
3.1 測(cè)試先行的技術(shù) 16
3.1.1 編寫(xiě)測(cè)試代碼 17
3.1.2 讓測(cè)試失敗得有一些有價(jià)值的啟示 19
3.1.3 看到測(cè)試運(yùn)行通過(guò) 19
3.1.4 重復(fù) 20
3.2 測(cè)試即規(guī)格 21
3.2.1 “測(cè)試不是測(cè)試,而是規(guī)格” 21
3.2.2 “測(cè)試不是規(guī)格,而是測(cè)試” 22
3.2.3 測(cè)試是可運(yùn)行的規(guī)格 22
3.2.4 增量設(shè)計(jì) 24
3.3 構(gòu)建良好的規(guī)格 24
3.3.1 規(guī)定行為,而不是結(jié)構(gòu) 24
3.3.2 從一無(wú)所有開(kāi)始驅(qū)動(dòng)設(shè)計(jì),而不是從其他方式開(kāi)始 25
3.3.3 從內(nèi)向外地定義設(shè)計(jì) 25
3.3.4 從外向內(nèi)地定義設(shè)計(jì) 27
3.4 小結(jié) 29
第4章 安全地改變?cè)O(shè)計(jì) 31
4.1 什么是安全 31
4.1.1 違約有點(diǎn)糟 32
4.1.2 丟失數(shù)據(jù)可能會(huì)讓你被炒魷魚(yú) 33
4.1.3 不改設(shè)計(jì)也同樣危險(xiǎn) 34
4.2 解決方案:過(guò)渡測(cè)試 37
4.2.1 測(cè)試驅(qū)動(dòng)的實(shí)例化 37
4.2.2 建立過(guò)渡測(cè)試 38
4.2.3 累加變化的過(guò)渡測(cè)試 40
4.2.4 過(guò)渡測(cè)試的變形 44
4.2.5 為什么不使用公共接口 49
4.3 過(guò)渡保障 49
4.3.1 Read/Read過(guò)渡測(cè)試 49
4.3.2 每次升級(jí)時(shí)通過(guò)數(shù)據(jù)庫(kù)的類(lèi)來(lái)運(yùn)行 52
4.3.3 備份和失敗時(shí)回滾 53
4.3.4 讓過(guò)渡測(cè)試充分利用過(guò)渡保障 53
4.4 小結(jié) 54
第5章 遵循接口 55
5.1 接口的優(yōu)勢(shì) 55
5.1.1 更強(qiáng)的耦合語(yǔ)言 56
5.1.2 弱耦合的語(yǔ)言 57
5.1.3 共識(shí) 57
5.1.4 耦合到數(shù)據(jù)庫(kù)的類(lèi) 58
5.1.5 問(wèn)題是發(fā)生了重復(fù) 58
5.2 像客戶對(duì)象般的遵循 58
5.2.1 創(chuàng)建DatabaseDesign類(lèi)的需求 58
5.2.2 規(guī)定DatabaseDesign類(lèi) 60
5.2.3 擺脫使用多個(gè)客戶端平臺(tái)時(shí)出現(xiàn)的重復(fù) 61
5.2.4 當(dāng)耦合出問(wèn)題時(shí)會(huì)發(fā)生什么 62
5.2.5 消除數(shù)據(jù)庫(kù)構(gòu)建和客戶端代碼之間的重復(fù) 62
5.2.6 解除實(shí)現(xiàn)與設(shè)計(jì)之間的耦合 63
5.3 癥結(jié):變更 64
5.3.1 隨時(shí)間而變化的設(shè)計(jì) 64
5.3.2 記錄所有版本的設(shè)計(jì) 65
5.3.3 耦合到設(shè)計(jì)的正確版本 68
5.4 癥結(jié):耦合 69
5.4.1 不同的客戶端耦合到不同的版本 69
5.4.2 總是不得不修改所有東西也是重復(fù) 69
5.4.3 透鏡概念介紹 73
5.4.4 虛擬透鏡 76
5.4.5 “當(dāng)前”透鏡 78
5.4.6 “新”透鏡 79
5.5 小結(jié) 81
第6章 定義行為 82
6.1 一組新問(wèn)題 83
6.1.1 無(wú)封裝 83
6.1.2 隱藏一切 84
6.1.3 數(shù)據(jù)庫(kù)中的業(yè)務(wù)邏輯 84
6.2 知識(shí)、信息與行為 85
6.2.1 通告 86
6.2.2 知識(shí) 88
6.2.3 行為 90
6.3 由外而內(nèi)地開(kāi)發(fā) 92
6.3.1 定義測(cè)試 93
6.3.2 生長(zhǎng)出接口 94
6.3.3 生長(zhǎng)出行為和結(jié)構(gòu) 95
6.4 用規(guī)格來(lái)實(shí)現(xiàn)合理的設(shè)計(jì) 97
6.4.1 開(kāi)發(fā)當(dāng)下的需求,而不是將來(lái)的需求 97
6.4.2 用增量的方式構(gòu)建 98
6.4.3 將訪問(wèn)限定在規(guī)定的內(nèi)容上 98
6.4.4 小結(jié) 99
第7章 為可維護(hù)性而構(gòu)建 100
7.1 再也不要擔(dān)心未來(lái) 100
7.1.1 在當(dāng)下尋找機(jī)會(huì) 101
7.1.2 針對(duì)通告進(jìn)行設(shè)計(jì) 102
7.1.3 使用行為來(lái)翻譯通告和知識(shí) 106
7.2 用激情和熱忱來(lái)保護(hù)知識(shí) 108
7.2.1 不做改變是最危險(xiǎn)的選擇 108
7.2.2 讓設(shè)計(jì)保持自然 110
7.3 當(dāng)事情在未來(lái)發(fā)生時(shí)再處理 111
7.3.1 定義新的設(shè)計(jì) 111
7.3.2 引入最小的變化 113
7.3.3 讓測(cè)試運(yùn)行通過(guò) 115
7.3.4 停下來(lái),思考,重構(gòu) 117
7.3.5 小結(jié) 119
第8章 錯(cuò)誤與修復(fù) 121
8.1 各種錯(cuò)誤 121
8.1.1 軸:好的錯(cuò)誤還是壞的錯(cuò)誤 122
8.1.2 軸:錯(cuò)誤發(fā)布了沒(méi)有 124
8.2 處理好的錯(cuò)誤 125
8.2.1 修復(fù)它就好了 125
8.2.2 現(xiàn)在就記錄行為 126
8.2.3 回溯功能的根源 128
8.3 處理壞的錯(cuò)誤 129
8.3.1 未發(fā)布的錯(cuò)誤 129
8.3.2 已發(fā)布的錯(cuò)誤 133
8.3.3 災(zāi)難性的錯(cuò)誤 139
8.4 小結(jié) 140
第9章 設(shè)計(jì) 141
9.1 結(jié)構(gòu)與設(shè)計(jì) 142
9.1.1 結(jié)構(gòu):執(zhí)行細(xì)節(jié) 142
9.1.2 測(cè)試和類(lèi)信息 144
9.2 什么是設(shè)計(jì) 144
9.2.1 概念之桶 145
9.2.2 真正的TDD中強(qiáng)制性的部分 147
9.3 組合與聚合 148
9.3.1 組合:一件事有多個(gè)組成部分 148
9.3.2 聚合:連接截然不同的東西 151
9.4 復(fù)用 154
9.4.1 避免將同樣的內(nèi)容開(kāi)發(fā)兩遍 154
9.4.2 通過(guò)組合或聚合來(lái)實(shí)現(xiàn)復(fù)用 156
9.5 抽象 157
9.5.1 發(fā)現(xiàn)運(yùn)用抽象的機(jī)會(huì) 157
9.5.2 封裝行為 159
9.5.3 尋找各種方式來(lái)允許變化發(fā)生在依賴關(guān)系中 164
9.5.4 處理時(shí)間問(wèn)題 165
9.6 小結(jié) 169
第10章 mocking 171
10.1 測(cè)試單個(gè)的行為 171
10.1.1 為什么封裝 172
10.1.2 測(cè)試就是對(duì)那些在其控制之外的一切進(jìn)行測(cè)試 172
10.1.3 從測(cè)試那里來(lái)控制不相關(guān)的行為 173
10.1.4 mocking控制了行為 174
10.2 在面向?qū)ο缶幊讨械膍ocking 174
10.2.1 設(shè)置 175
10.2.2 解耦 179
10.2.3 隔離 181
10.2.4 集成 182
10.3 在數(shù)據(jù)庫(kù)設(shè)計(jì)中使用mocking 182
10.3.1 示例問(wèn)題 183
10.3.2 示例解決方案 184
10.3.3 組合 187
10.3.4 聚合 188
10.3.5 為可測(cè)試性而設(shè)計(jì) 188
10.4 小結(jié) 189
第11章 重構(gòu) 190
11.1 什么是重構(gòu) 190
11.1.1 改變?cè)O(shè)計(jì)但不改變行為 191
11.1.2 在測(cè)試運(yùn)行通過(guò)的背景下 192
11.2 較低和較高風(fēng)險(xiǎn)的設(shè)計(jì)變更 199
11.2.1 較低風(fēng)險(xiǎn):改變類(lèi)一級(jí)的設(shè)計(jì) 199
11.2.2 中等風(fēng)險(xiǎn):重新安排行為的邏輯 200
11.2.3 較高風(fēng)險(xiǎn):改變知識(shí)的容器 202
11.2.4 這不是一個(gè)跳過(guò)測(cè)試的邀請(qǐng) 202
11.3 小結(jié) 202
第12章 遺留數(shù)據(jù)庫(kù) 203
12.1 提升到一個(gè)類(lèi) 203
12.1.1 推導(dǎo)初始版本 204
12.1.2 用測(cè)試來(lái)釘牢過(guò)渡行為 206
12.2 控制耦合 207
12.2.1 識(shí)別和鎖定現(xiàn)有的使用數(shù)據(jù)庫(kù)的情況 207
12.2.2 按需封裝 209
12.3 控制變更 210
12.3.1 用測(cè)試驅(qū)動(dòng)新的行為 210
12.3.2 按需釘牢構(gòu)造行為 212
12.3.3 按需釘牢行為 213
12.3.4 實(shí)現(xiàn)新的行為 214
12.4 查找接縫和組件 215
12.4.1 查找接縫 215
12.4.2 封裝組件 218
12.5 小結(jié) 222
第13章 Fa?ade模式 224
13.1 使用Fa?ade的封裝 224
13.1.1 Fa?ade模式的說(shuō)明 225
13.1.2 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)出來(lái)的新的Fa?ade數(shù)據(jù)庫(kù) 229
13.1.3 使用組合方法的替代方案 235
13.1.4 封裝還是不封裝 235
13.2 扼殺舊接口 236
13.2.1 將正在改變的行為轉(zhuǎn)移到Fa?ade 236
13.2.2 當(dāng)不再需要時(shí)刪除訪問(wèn)權(quán)限和功能 237
13.3 在Fa?ade數(shù)據(jù)庫(kù)中對(duì)行為進(jìn)行測(cè)試驅(qū)動(dòng)開(kāi)發(fā) 238
13.3.1 暴露遺留的行為 238
13.3.2 做事情的另一種方法 239
13.3.3 新的行為 239
13.4 小結(jié) 241
第14章 變奏曲 242
14.1 重要的是擁有一個(gè)類(lèi),而不是實(shí)現(xiàn) 243
14.2 場(chǎng)景:跳過(guò)那些步驟 243
14.2.1 問(wèn)題 243
14.2.2 解決方案 244
14.2.3 正確的工作量 246
14.3 偏離 246
14.3.1 問(wèn)題 246
14.3.2 解決方案 247
14.3.3 應(yīng)用解決方案 248
14.4 通用的解決方案 252
14.5 小結(jié) 252
第15章 其他應(yīng)用 254
15.1 XML 255
15.1.1 封裝 255
15.1.2 XSD Schema 255
15.1.3 XSLT過(guò)渡 257
15.1.4 對(duì)XSLT的變更進(jìn)行過(guò)渡測(cè)試 258
15.2 文件系統(tǒng)和其他的對(duì)象目錄 259
15.2.1 對(duì)文件系統(tǒng)的操作進(jìn)行過(guò)渡測(cè)試 259
15.2.2 Shell腳本過(guò)渡 261
15.3 數(shù)據(jù)對(duì)象 262
15.3.1 類(lèi)的定義就是Schema 262
15.3.2 對(duì)Ugrader類(lèi)進(jìn)行過(guò)渡測(cè)試 263
15.3.3 編寫(xiě)過(guò)渡 266
15.4 小結(jié)與寄語(yǔ) 270

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)