新到貨2本75折
面向對象是怎樣工作的(第2版)

面向對象是怎樣工作的(第2版)

  • 定價:414
  • 優惠價:87360
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

本書以圖配文的形式,直觀易懂地詳細介紹了物件導向的全貌及其中包含的各項技術,包括物件導向程式設計、框架、設計模式、UML、建模、物件導向設計和敏捷開發等。對於各項技術是如何使用的(How),書中只進行最小限度的說明,而重點介紹這些技術究竟是什麼樣的(What)以及為什麼需要這些技術(Why)。另外,書中設有“程式設計往事”專欄,介紹了作者年輕時的一些經歷;還設有“物件的另一面”專欄,以與正文不同的視角講解物件導向這一概念普及的背景和原因,通俗有趣。

 

作者介紹

平澤章
就職於UL System株式會社,多次參與面向大型金融機構的第三次線上系統的開發等系統開發工作,後負責技術諮詢業務,2001年轉為現在的職務。著有《UML建模教程》,是Working Effectively With Legacy Code、Refactoring: Improving the Design of Existing Code日文版譯者之一。

侯振龍(譯者)
管理科學與工程專業碩士,日語一級,軟體發展工程師,具有十年以上對日軟體發展經驗,現就職於某日本獨資企業。

 

目錄

第1章 物件導向:讓軟體發展變輕鬆的技術 1
1.1 物件導向是軟體發展的綜合技術 3
1.2 以物件為中心編寫軟體的開發方法 4
1.3 從程式設計語言演化為綜合技術 4
1.4 在混亂的狀態下去理解,就會覺得很難 5
1.5 混亂之一:術語洪流 6
1.6 混亂之二:比喻濫用 7
1.7 混亂之三:“一切都是對象”綜合征 8
1.8 三種混亂增大了理解的難度 9
1.9 因為不理解,所以才感覺神秘 10
1.10 消除這三種混亂,就能看到物件導向的真面目 10
1.11 本書的構成 11

第2章 似是而非:物件導向與現實世界 13
2.1 如果只理解概念,就容易混亂 15
2.2 對照現實世界介紹物件導向 15
2.3 類指類型,實例指具體的物 16
2.4 多態讓消息的發送方法通用 18
2.5 繼承對共同點和不同點進行系統的分類和整理 20
2.6 物件導向和現實世界是似是而非的 22
2.7 現實世界的人和物不是由類創建的 23
2.8 現實世界的人和物並不只是根據消息來行動 24
2.9 明確定義為程式設計結構 25
2.10 軟體並不會直接表示現實世界 25
2.11 與現實世界的相似擴大了可能性 26
專欄 對象的另一面
成為潮詞的物件導向 27

第3章 理解OOP:程式設計語言的歷史 29
3.1 OOP的出現具有必然性 31
3.2 最初使用機器語言編寫程式 31
3.3 程式設計語言的第一步是組合語言 32
3.4 高階語言的發明使程式更加接近人類 33
3.5 重視易懂性的結構化程式設計 34
3.6 提高副程式的獨立性,強化可維護性 35
3.7 實現無GOTO程式設計的結構化語言 38
3.8 進化方向演變為重視可維護性和再使用性 39
3.9 沒有解決全域變數問題和再使用性差的問題 41
專欄 程式設計往事
COBOL編譯器的雞和蛋的問題 45

第4章 物件導向程式設計技術:去除冗餘、進行整理 47
4.1 OOP具有結構化語言所沒有的三種結構 49
4.2 OOP的結構會根據程式設計語言的不同而略有差異 51
4.3 三大要素之一:類具有的三種功能 51
4.4 類的功能之一:匯總 52
4.5 類的功能之二:隱藏 55
4.6 類的功能之三:創建很多個 58
4.7 執行個體變數是限定訪問範圍的全域變數 61
4.8 三大要素之二:實現調用端公用化的多態 63
4.9 三大要素之三:去除類的重複定義的繼承 67
4.10 對三大要素的總結 70
4.11 通過嵌入類型使程式師的工作變輕鬆 71
4.12 將類作為類型使用 72
4.13 程式設計語言“退化”了嗎 74
4.14 更先進的OOP結構 74
4.15 進化的OOP結構之一:包 75
4.16 進化的OOP結構之二:異常 76
4.17 進化的OOP結構之三:垃圾回收 78
4.18 對OOP進化的總結 80
4.19 決心決定OOP的生死 81

第5章 理解記憶體結構:程式師的基本素養 83
5.1 理解OOP程式的運行機制 85
5.2 兩種運行方式:編譯器與解譯器 85
5.3 解釋、運行中間代碼的虛擬機器 88
5.4 CPU同時運行多個執行緒 89
5.5 使用靜態區、堆區和棧區進行管理 91
5.6 OOP的特徵在於記憶體的用法 94
5.7 每個類只載入一個類資訊 95
5.8 每次創建實例都會使用堆區 96
5.9 在變數中存儲實例的指標 97
5.10 複製存儲實例的變數時要多加注意 99
5.11 多態讓不同的類看起來一樣 103
5.12 根據繼承的資訊類型的不同,記憶體配置也不同 105
5.13 孤立的實例由垃圾回收處理 107
專欄 程式設計往事
OOP中dump看起來很費勁? 113

第6章 重用:OOP帶來的軟體重用和思想重用 115
6.1 OOP的優秀結構能夠促進重用 117
6.2 類庫是OOP的軟體構件群 119
6.3 標準類庫是語言規範的一部分 120
6.4 將Object類作為祖先類的繼承結構 121
6.5 框架存在各種含義 122
6.6 框架是應用程式的半成品 123
6.7 世界上可重用的軟體構件群 124
6.8 獨立性較高的構件:組件 125
6.9 設計模式是優秀的設計思想集 125
6.10 設計模式是類庫探險的路標 128
6.11 擴展到各個領域的思想的重用 129
6.12 通過類庫和模式發現的重用的好處 130

第7章 化為通用的歸納整理法的物件導向 133
7.1 軟體不會直接表示現實世界 135
7.2 應用於集合論和職責分配 137
7.3 在上流工程中化為通用的歸納整理法 139
7.4 兩種含義引起混亂 140
7.5 分為OOP的擴展和歸納整理法進行思考 141
7.6 為何化為了通用的歸納整理法 142
專欄 對象的另一面
語言在先,還是概念在先 143

第8章 UML:查看無形軟體的工具 145
8.1 UML是表示軟體功能和結構的圖形的繪製方法 147
8.2 UML有13種圖形 148
8.3 UML的使用方法大致分為三種 150
8.4 UML的使用方法之一:表示程式結構和動作 151
8.5 類圖表示OOP程式的結構 151
8.6 使用時序圖和通信圖表示動作 154
8.7 UML的使用方法之二:表示歸納整理法的成果 156
8.8 使用類圖表示根據集合論進行整理的結果 157
8.9 表示職責分配的時序圖和通信圖 160
8.10 UML的使用方法之三:表示非物件導向 163
8.11 使用用例圖表示交給電腦的工作 163
8.12 使用活動圖表示工作流程 164
8.13 使用狀態機圖表示狀態的變化 165
8.14 彌補自然語言和電腦語言缺點的“語言” 166

第9章 建模:填補現實世界和軟體之間的溝壑 171
9.1 現實世界和軟體之間存在溝壑 173
9.2 電腦擅長固定工作和記憶工作 174
9.3 通過業務分析、需求定義和設計來填補溝壑 175
9.4 建模是順利推進這3個階段的工作的技術 176
9.5 應用程式不同,建模的內容也不一樣 177
9.6 業務應用程式記錄現實中的事情 178
9.7 對圖書館的借閱業務進行建模 179
9.8 使用用例圖來表示圖書館業務 181
9.9 用概念模型表示圖書館系統的資訊 183
9.10 業務應用程式中只有資料是無縫的 184
9.11 嵌入式軟體替換現實世界的工作 186
9.12 嵌入式軟體中設備的研究開發很重要 187
9.13 使用狀態機圖來表示全自動工作的情形 189
9.14 嵌入式軟體一直執行單調的工作 190
9.15 建模蘊含著軟體發展的樂趣 191

第10章 物件導向設計:擬人化和職責分配 195
10.1 設計的目標範圍很廣 197
10.2 相比運行效率,現在更重視可維護性和再使用性 198
10.3 設計目標之一:去除重複 199
10.4 設計目標之二:提高構件的獨立性 200
10.5 提高構件獨立性的訣竅 202
10.6 設計目標之三:避免依賴關係發生迴圈 203
10.7 物件導向設計的“感覺”是擬人化和職責分配 205
10.8 進行了職責分配的軟體創建的奇妙世界 206

第11章 衍生:敏捷開發和TDD 211
11.1 僅靠技術和技術竅門,軟體發展並不會成功 213
11.2 系統地匯總了作業步驟和成果的開發流程 214
11.3 限制修改的瀑布式開發流程 214
11.4 瀑布式開發流程的極限 215
11.5 靈活回應變化的反覆運算式開發流程 216
11.6 RUP按時間分解和管理開發 217
11.7 打破諸多限制的XP 219
11.8 快速編寫優秀軟體的敏捷宣言 221
11.9 支援敏捷開發的實踐 222
11.10 先編寫測試代碼,一邊運行一邊開發的測試驅動開發 222
11.11 在程式完成後改善運行代碼的重構 224
11.12 經常進行系統整合的持續集成 225
11.13 敏捷開發和TDD源於物件導向 226
11.14 不存在最好的開發流程 227
專欄 程式設計往事
過去不被允許的XP 231

第12章 熟練掌握物件導向 233
12.1 物件導向這一強大概念是原動力 235
12.2 時代追上了物件導向 236
12.3 物件導向的熱潮不會結束 237
12.4 將物件導向作為工具熟練掌握 238
12.5 享受需要動腦的軟體發展 239

第13章 函數式語言是怎樣工作的 241
13.1 物件導向的“下一代”開發技術 243
13.2 函數式語言的7個特徵 244
13.3 特徵1:使用函數編寫程式 244
13.4 特徵2:所有運算式都返回值 246
13.5 特徵3:將函數作為值進行處理 250
13.6 特徵4:可以靈活組合函數和參數 252
13.7 特徵5:沒有副作用 256
13.8 特徵6:使用分類和遞迴來編寫迴圈處理 261
13.9 特徵7:編譯器自動進行類型推斷 266
13.10 對7個特徵的總結 270
13.11 函數式語言的分類 271
13.12 函數式語言的優勢 271
13.13 函數式語言的課題 272
13.14 函數式語言和物件導向的關係 273
13.15 函數式語言會普及嗎 275
後記 279
致謝 280
 

 

詳細資料

  • ISBN:9787115541239
  • 規格:平裝 / 280頁 / 32k / 13 x 19 x 1.4 cm / 普通級 / 單色印刷 / 初版
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【其他】2024采實電子書全書系:春暖花開‧享閱讀,參展書單書85折起、任選3本79折
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬
  • 浪漫小說精選3本72折