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

軟件設計:Java語言實踐

軟件設計:Java語言實踐

定 價:¥89.00

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

ISBN: 9787111664024 出版時間: 2020-09-01 包裝: 平裝
開本: 16開 頁數(shù): 252 字數(shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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