注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)軟件設(shè)計(jì):Java語(yǔ)言實(shí)踐

軟件設(shè)計(jì):Java語(yǔ)言實(shí)踐

軟件設(shè)計(jì):Java語(yǔ)言實(shí)踐

定 價(jià):¥89.00

作 者: 馬丁·P.羅畢拉德 著,喬海燕 郭佳怡 傅禹澤 鄒雨桐 譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

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


ISBN: 9787111664024 出版時(shí)間: 2020-09-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 252 字?jǐn)?shù):  

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

  本教材提供了關(guān)于軟件設(shè)計(jì)深入的介紹,重點(diǎn)關(guān)注面向?qū)ο蟮脑O(shè)計(jì),并使用Java編程語(yǔ)言。目的是通過(guò)發(fā)掘設(shè)計(jì)過(guò)程中的經(jīng)驗(yàn)來(lái)幫助讀者學(xué)習(xí)軟件設(shè)計(jì)。使用這樣一種敘述方式:在上下文中介紹設(shè)計(jì)知識(shí)的每一個(gè)元素,并探索不同的解決方案,同時(shí)輔以數(shù)百個(gè)代碼片段和設(shè)計(jì)圖。

作者簡(jiǎn)介

  馬丁·P.羅畢拉德(Martin P. Robillard)是麥吉爾大學(xué)的計(jì)算機(jī)科學(xué)系教授。他從2005年開(kāi)始教授Java軟件設(shè)計(jì),并擁有20多年的Java程序設(shè)計(jì)經(jīng)驗(yàn)。他目前的研究重點(diǎn)是與軟件演化、體系結(jié)構(gòu)和設(shè)計(jì)以及軟件重用相關(guān)的問(wèn)題。Martin是第20屆ACM軟件工程基礎(chǔ)國(guó)際研討會(huì)(FSE 2012)和第39屆ACM/IEEE軟件工程國(guó)際會(huì)議(ICSE 2017)的項(xiàng)目聯(lián)合主席。

圖書(shū)目錄

出版者的話(huà)
譯者序
前言
第1章 緒論1
1.1 定義軟件設(shè)計(jì)3
1.2 軟件開(kāi)發(fā)過(guò)程中的設(shè)計(jì)5
1.3 獲取設(shè)計(jì)知識(shí)6
1.4 共享設(shè)計(jì)技術(shù)8
1.4.1 設(shè)計(jì)模式8
1.4.2 設(shè)計(jì)反模式10
小結(jié)10
延伸閱讀11
第2章 封裝12
2.1 封裝與信息隱藏12
2.2 將抽象編碼為類(lèi)型13
2.3 作用域與可見(jiàn)性限制16
2.4 對(duì)象圖18
2.5 逃逸引用20
2.5.1 返回指向內(nèi)部對(duì)象的引用21
2.5.2 在內(nèi)部存儲(chǔ)外部引用22
2.5.3 通過(guò)共享結(jié)構(gòu)泄露引用22
2.6 不可變性23
2.7 提供內(nèi)部數(shù)據(jù)25
2.7.1 擴(kuò)展接口25
2.7.2 返回副本26
2.7.3 高級(jí)機(jī)制27
2.8 契約式設(shè)計(jì)27
小結(jié)30
代碼探索30
延伸閱讀32
第3章 類(lèi)型與接口33
3.1 行為與實(shí)現(xiàn)解耦合33
3.2 指定接口的行為36
3.3 類(lèi)圖38
3.4 函數(shù)對(duì)象40
3.5 迭代器43
3.6 ITERATOR設(shè)計(jì)模式45
3.7 STRATEGY設(shè)計(jì)模式46
3.8 接口分離原則47
小結(jié)50
代碼探索50
延伸閱讀52
第4章 對(duì)象狀態(tài)53
4.1 軟件系統(tǒng)的靜態(tài)和動(dòng)態(tài)視圖53
4.2 定義對(duì)象狀態(tài)54
4.3 狀態(tài)圖55
4.4 設(shè)計(jì)對(duì)象生命周期57
4.4.1 無(wú)效和無(wú)用的狀態(tài)58
4.4.2 不必要的狀態(tài)信息58
4.5 可空性59
4.5.1 無(wú)須對(duì)不存在的值建模60
4.5.2 對(duì)不存在的值建模61
4.5.3 可選值類(lèi)型62
4.5.4 NULL OBJECT設(shè)計(jì)模式63
4.6 終極域和變量64
4.7 對(duì)象身份、相等和唯一66
4.8 FLYWEIGHT設(shè)計(jì)模式68
4.9 SINGLETON設(shè)計(jì)模式71
4.10 嵌套類(lèi)的對(duì)象72
4.10.1 內(nèi)部類(lèi)72
4.10.2 匿名類(lèi)74
小結(jié)75
代碼探索76
延伸閱讀77
第5章 單元測(cè)試78
5.1 單元測(cè)試簡(jiǎn)介78
5.2 JUnit單元測(cè)試框架基礎(chǔ)81
5.3 測(cè)試代碼的組織82
5.4 元程序設(shè)計(jì)83
5.4.1 內(nèi)省84
5.4.2 程序的操作86
5.4.3 程序元數(shù)據(jù)87
5.5 測(cè)試構(gòu)建88
5.6 測(cè)試和異常條件91
5.7 封裝與單元測(cè)試93
5.8 樁測(cè)試95
5.9 測(cè)試覆蓋96
5.9.1 語(yǔ)句覆蓋98
5.9.2 分支覆蓋98
5.9.3 路徑覆蓋99
小結(jié)99
代碼探索100
延伸閱讀101
第6章 復(fù)合102
6.1 復(fù)合與聚合102
6.2 COMPOSITE設(shè)計(jì)模式105
6.3 時(shí)序圖109
6.4 DECORATOR設(shè)計(jì)模式112
6.5 COMPOSITE與DECORATOR的結(jié)合116
6.6 多態(tài)對(duì)象復(fù)制118
6.6.1 聲明實(shí)現(xiàn)Cloneable接口119
6.6.2 重寫(xiě)Object.clone()方法120
6.6.3 調(diào)用super.clone()120
6.6.4 捕獲CloneNotSupported-Exception121
6.6.5 把clone()加入接口122
6.7 PROTOTYPE設(shè)計(jì)模式123
6.8 COMMAND設(shè)計(jì)模式124
6.9 迪米特法則127
小結(jié)128
代碼探索129
延伸閱讀131
第7章 繼承132
7.1 繼承的實(shí)例132
7.2 繼承和子類(lèi)134
7.2.1 向下類(lèi)型轉(zhuǎn)換135
7.2.2 單根的類(lèi)層次結(jié)構(gòu)136
7.3 繼承域137
7.4 繼承方法139
注解重寫(xiě)方法143
7.5 重載方法143
7.6 繼承與復(fù)合145
7.7 抽象類(lèi)147
7.8 重溫DECORATOR設(shè)計(jì)模式149
7.9 TEMPLATE METHOD設(shè)計(jì)模式 151
7.9.1 終極方法與終極類(lèi)152
7.9.2 抽象方法153
7.9.3 模式總結(jié)154
7.10 正確使用繼承155
7.10.1 限制基類(lèi)客戶(hù)端的行為155
7.10.2 不適合作子類(lèi)型的子類(lèi)158
小結(jié)159
代碼探索159
延伸閱讀161
第8章 控制流反轉(zhuǎn)162
8.1 使用控制流反轉(zhuǎn)的動(dòng)機(jī)162
8.2 模型–視圖–控制器分解164
8.3 OBSERVER設(shè)計(jì)模式165
8.3.1 模型和觀察者的連接165
8.3.2 模型和觀察者間的控制流166
8.3.3 模型和觀察者間的數(shù)據(jù)流168
8.3.4 事件驅(qū)動(dòng)程序設(shè)計(jì)170
8.3.5 小結(jié)172
8.4 應(yīng)用OBSERVER設(shè)計(jì)模式173
8.5 圖形用戶(hù)界面開(kāi)發(fā)導(dǎo)論177
8.6 圖形用戶(hù)界面組件圖178
8.6.1 用戶(hù)體驗(yàn)視角178
8.6.2 邏輯視角179
8.6.3 源代碼視角179
8.6.4 運(yùn)行時(shí)視角181
8.6.5  定義對(duì)象圖181
8.7 事件處理183
8.8 VISITOR設(shè)計(jì)模式186
8.8.1 具體和抽象訪問(wèn)者188
8.8.2 在類(lèi)層次結(jié)構(gòu)中集成操作189
8.8.3 遍歷對(duì)象圖191
8.8.4 OBSERVER模式中使用繼承194
8.8.5 在訪問(wèn)者結(jié)構(gòu)中支持?jǐn)?shù)據(jù)流196
小結(jié)197
代碼探索198
延伸閱讀200
第9章 函數(shù)式設(shè)計(jì)201
9.1 一等函數(shù)201
9.2 函數(shù)式接口、lambda表達(dá)式和方法引用203
9.2.1 函數(shù)式接口203
9.2.2 lambda表達(dá)式204
9.2.3 方法引用207
9.3 使用函數(shù)復(fù)合行為208
9.4 用函數(shù)作數(shù)據(jù)供給者212
供給者函數(shù)與OBSERVER模式217
9.5 一等函數(shù)和設(shè)計(jì)模式218
9.5.1 函數(shù)式STRATEGY218
9.5.2 函數(shù)式COMMAND220
9.6 函數(shù)式數(shù)據(jù)處理221
9.6.1 數(shù)據(jù)作為流222
9.6.2 將高階函數(shù)應(yīng)用于流223
9.6.3 過(guò)濾流224
9.6.4 映射數(shù)據(jù)元素225
9.6.5 規(guī)約流226
小結(jié)228
代碼探索228
延伸閱讀230
附錄A Java程序設(shè)計(jì)語(yǔ)言的重要概念231
附錄B 代碼規(guī)范237
附錄C 應(yīng)用實(shí)例240
參考文獻(xiàn)242

本目錄推薦

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