面向對象高級技術教程

面向對象高級技術教程

面向對象(Object Oriented,OO)是當前計算機界關心的重點之一,它是20世紀90年代以來軟體開發方法的主流,國內外許多高校都開設了面向對象的課程,但是面向對象涉及的概念很多,結構複雜,內容廣泛,使不少初學者感到學習難度較大,難以融會貫通。

基本介紹

  • 書名:面向對象高級技術教程
  • 作者:徐宏喆
  • ISBN:9787302258247
  • 定價:38元
  • 出版社:清華大學出版社
  • 出版時間:2012-1-16
  • 裝幀:平裝
  • 開本:16
圖書簡介,圖書前言,圖書目錄,

圖書簡介

本書作者參閱了國內外多種相關教材,認真分析了初學者在學習過程中遇到的困難,為了方便讀者的理解和使用,本書設計了讀者易於學習的教材體系,用通俗易懂的語言化解了許多複雜的概念,用大量套用實例深入淺出地講解了面向對象的基礎知識和基本套用。本書內容全面,例題豐富,循序漸進,易於學習。
本書可以作為大學計算機專業本科生、研究生學習設計模式的基礎教材,也可以作為從事軟體研究和軟體開發工作有關人員的參考書。

圖書前言

面向對象技術從20世紀90年代以來,已經成為計算機領域的主流技術,越來越多的學術會議和期刊把面向對象列為主要議題之一,越來越多的公司從傳統的開發技術轉向面向對象技術,越來越多的大學和培訓機構把面向對象技術作為主要教學內容。
目前,市場上介紹面向對象的書往往只側重於某一方面,有些側重於某一程式語言的介紹,有些側重於面向對象開發過程的介紹,有些側重於介紹設計模式,很難讓讀者從總體上把握面向對象的思想和內涵。本書編者在十幾年的項目開發實踐中積累了豐富的開發經驗,在近年來的項目開發中,也有意識地大量使用設計模式來提高系統的復用性。鑒於高等院校對面向對象相關教材的迫切需要,因此決定將書稿以教材形式撰寫。
本書是一本全面介紹面向對象技術的教材,分為基礎篇、進階篇、高級篇三部分。基礎篇重點講解面向對象的基礎知識,進階篇主要講解了24種面向對象設計模式,高級篇介紹了軟體架構、基於組件和面向服務的軟體開發。設計模式是本書的重點內容,使用設計模式的難點往往不在於模式的實現,而在於很難確定哪種模式適用於當前現實的套用場景中,有時候因為概念不清,理解偏差而選擇了不恰當的設計模式,還會使原本簡單的問題變得複雜化,背離了使用設計模式的初衷。
本書大量使用的類圖都遵循UML標準繪製,為了使讀者更容易理解和使用本教材,書中使用了大量的程式實例。本書體系完整,每章後面都安排有課後習題,還計畫出版配套的題解和上機輔導教材。
本書章節安排如下:
第1章 面向對象基礎,主要介紹了面向對象的思想、基本概念、組成要素和主要特徵。
第2章 面向對象的開發過程,簡單介紹了面向對象的開發過程,包括面向對象分析,面向對象設計,面向對象的編程實現,面向對象的測試。
第3章 面向對象軟體設計基礎,本章闡述了什麼樣的設計才是優秀的設計,然後重點介紹了面向對象的一些常見的軟體設計原則。
第4章 設計模式基礎,本章簡要介紹了設計模式的基本概念和組成要素,並分類介紹了24種設計模式。
第5章 創建型設計模式,詳細介紹了6種創建型設計模式。
第6章 結構型設計模式,詳細介紹了7種結構型設計模式。
第7章 行為型設計模式,詳細介紹了11種行為型設計模式。
第8章 軟體架構與架構建模技術,介紹了軟體架構的定義和發展史,分析了幾種常見的軟體架構模式,並簡要介紹了軟體架構建模技術。
第9章 基於組件的軟體開發,本章通過介紹組件概念和相關技術,探討了一些基於組件的軟體開發技術和思想。
第10章 面向服務的軟體架構——SOA,簡要介紹了SOA、SOA的框架及套用實例。

圖書目錄

第一部分 基 礎 篇
第1章 面向對象基礎 2
1.1 面向對象方法 2
1.1.1 面向對象方法的內涵 2
1.1.2 面向對象方法的基本概念 3
1.1.3 面向對象的產生 5
1.1.4 面向對象的優勢 7
1.2 類和類的成員 10
1.2.1 類和對象 10
1.2.2 類的成員類型和訪問控制 11
1.2.3 欄位 12
1.2.4 屬性 13
1.2.5 方法 14
1.2.6 構造函式和析構函式 15
1.2.7 委託 16
1.2.8 事件 18
1.3 面向對象的特徵 21
1.3.1 封裝 21
1.3.2 繼承 23
1.3.3 多態 30
本章小結 34
習題 35
第2章 面向對象的開發過程 36
2.1 面向對象分析 36
2.1.1 概論 36
2.1.2 需求陳述 37
2.1.3 建立對象模型 39
2.1.4 建立動態模型 46
2.1.5 建立功能模型 50
2.2 面向對象設計 53
2.2.1 面向對象設計的準則 53
2.2.2 問題域部分設計 54
2.2.3 人機互動部分設計 55
2.2.4 任務管理部分設計 57
2.2.5 數據管理部分設計 58
2.3 面向對象的編程實現 60
2.3.1 程式語言的選擇 60
2.3.2 面向對象語言的技術支持 61
2.3.3 面向對象程式設計風格 63
2.4 面向對象的測試 65
2.4.1 面向對象測試概述 65
2.4.2 面向對象測試策略 66
2.4.3 設計測試用例 67
本章小結 69
習題 70
第3章 面向對象軟體設計基礎 71
3.1 面向對象設計視點 71
3.1.1 復用 71
3.1.2 擴展 73
3.1.3 分離與封裝變化 75
3.1.4 低耦合高內聚 77
3.2 面向對象軟體設計原則 81
3.2.1 開放封閉原則 82
3.2.2 單一職責原則 83
3.2.3 里氏代換原則 84
3.2.4 依賴倒轉原則 85
3.2.5 接口隔離原則 87
3.2.6 迪米特法則 89
3.2.7 其他原則 90
3.3 UML類圖簡介 91
3.3.1 類 91
3.3.2 接口 91
3.3.3 繼承 91
3.3.4 實現 92
3.3.5 依賴 92
3.3.6 關聯 93
3.3.7 聚合(聯合) 93
3.3.8 組合(合成) 94
本章小結 94
習題 95
第二部分 進 階 篇
第4章 設計模式基礎 98
4.1 概述 98
4.1.1 什麼是設計模式 98
4.1.2 設計模式的基本要素 99
4.1.3 怎樣使用設計模式 100
4.2 設計模式的類型 100
4.2.1 創建型設計模式 101
4.2.2 結構型設計模式 102
4.2.3 行為型設計模式 105
本章小結 108
習題 108
第5章 創建型設計模式 109
5.1 簡單工廠模式 109
5.1.1 意圖 111
5.1.2 角色及其職責 111
5.1.3 套用示例 112
5.1.4 效果分析 116
5.1.5 特點 116
5.1.6 適用性 116
5.2 工廠方法模式 116
5.2.1 意圖 116
5.2.2 角色及其職責 117
5.2.3 套用示例 118
5.2.4 效果分析 120
5.2.5 特點 121
5.2.6 適用性 121
5.3 抽象工廠模式 122
5.3.1 意圖 122
5.3.2 角色及其職責 122
5.3.3 套用示例 123
5.3.4 效果分析 126
5.3.5 特點 127
5.3.6 適用性 127
5.4 建造者模式 127
5.4.1 意圖 127
5.4.2 角色及其職責 127
5.4.3 套用示例 128
5.4.4 效果分析 134
5.4.5 特點 134
5.4.6 適用性 135
5.5 單件模式 135
5.5.1 意圖 135
5.5.2 角色及其職責 135
5.5.3 套用示例 135
5.5.4 效果分析 139
5.5.5 特點 140
5.5.6 適用性 140
5.6 原型模式 140
5.6.1 意圖 142
5.6.2 角色及其職責 142
5.6.3 套用示例 142
5.6.4 效果分析 148
5.6.5 特點 148
5.6.6 適用性 148
本章小結 148
習題 149
第6章 結構型設計模式 150
6.1 適配器模式 150
6.1.1 意圖 150
6.1.2 角色及其職責 150
6.1.3 套用示例 152
6.1.4 效果分析 155
6.1.5 特點 155
6.1.6 適用性 155
6.2 裝飾模式 156
6.2.1 意圖 156
6.2.2 角色及其職責 156
6.2.3 套用示例 156
6.2.4 效果分析 160
6.2.5 特點 160
6.2.6 適用性 161
6.3 橋接模式 161
6.3.1 意圖 161
6.3.2 角色及其職責 161
6.3.3 套用示例 162
6.3.4 效果分析 165
6.3.5 特點 166
6.3.6 適用性 166
6.4 享元模式 166
6.4.1 意圖 166
6.4.2 角色及其職責 167
6.4.3 套用示例 168
6.4.4 效果分析 171
6.4.5 特點 172
6.4.6 適用性 172
6.5 外觀模式 173
6.5.1 意圖 173
6.5.2 角色及其職責 173
6.5.3 套用示例 174
6.5.4 效果分析 178
6.5.5 特點 178
6.5.6 適用性 178
6.6 代理模式 179
6.6.1 意圖 179
6.6.2 角色及其職責 179
6.6.3 套用示例 179
6.6.4 效果分析 181
6.6.5 特點 182
6.6.6 適用性 182
6.7 組合模式 182
6.7.1 意圖 182
6.7.2 角色及其職責 182
6.7.3 套用示例 183
6.7.4 效果分析 189
6.7.5 特點 189
6.7.6 適用性 189
本章小結 190
習題 190
第7章 行為型設計模式 191
7.1 模板方法模式 191
7.1.1 意圖 191
7.1.2 角色及其職責 192
7.1.3 套用示例 192
7.1.4 效果分析 198
7.1.5 特點 199
7.1.6 適用性 199
7.2 觀察者模式 199
7.2.1 意圖 199
7.2.2 角色及其職責 199
7.2.3 套用示例 200
7.2.4 效果分析 204
7.2.5 特點 204
7.2.6 適用性 204
7.3 疊代器模式 205
7.3.1 意圖 205
7.3.2 角色及其職責 205
7.3.3 套用示例 207
7.3.4 效果分析 214
7.3.5 特點 215
7.3.6 適用性 215
7.4 責任鏈模式 215
7.4.1 意圖 215
7.4.2 角色及其職責 216
7.4.3 套用示例 216
7.4.4 效果分析 221
7.4.5 特點 221
7.4.6 適用性 221
7.5 備忘錄模式 221
7.5.1 意圖 222
7.5.2 角色及其職責 222
7.5.3 套用示例 223
7.5.4 效果分析 228
7.5.5 特點 228
7.5.6 適用性 228
7.6 命令模式 228
7.6.1 意圖 229
7.6.2 角色及其職責 229
7.6.3 套用示例 230
7.6.4 效果分析 239
7.6.5 特點 239
7.6.6 適用性 239
7.7 狀態模式 240
7.7.1 意圖 240
7.7.2 角色及其職責 241
7.7.3 套用示例 241
7.7.4 效果分析 249
7.7.5 特點 250
7.7.6 適用性 250
7.8 訪問者模式 250
7.8.1 意圖 250
7.8.2 角色及其職責 250
7.8.3 套用示例 251
7.8.4 效果分析 260
7.8.5 特點 260
7.8.6 適用性 261
7.9 中介者模式 261
7.9.1 意圖 261
7.9.2 角色及其職責 262
7.9.3 套用示例 262
7.9.4 效果分析 270
7.9.5 特點 270
7.9.6 適用性 271
7.10 策略模式 271
7.10.1 意圖 271
7.10.2 角色及其職責 271
7.10.3 套用示例 272
7.10.4 效果分析 280
7.10.5 特點 280
7.10.6 適用性 280
7.11 解釋器模式 281
7.11.1 意圖 281
7.11.2 角色及其職責 281
7.11.3 套用示例 282
7.11.4 效果分析 285
7.11.5 特點 285
7.11.6 適用性 286
本章小結 286
習題 286
第三部分 高 級 篇
第8章 軟體架構與架構建模技術 290
8.1 軟體架構概況 290
8.1.1 軟體架構的發展史 290
8.1.2 軟體架構的定義 291
8.2 經典軟體架構模式 292
8.2.1 管道和過濾器模式 292
8.2.2 面向對象模式 294
8.2.3 分層模式 296
8.2.4 知識庫模式 298
8.3 客戶機/伺服器模式 300
8.3.1 客戶機/伺服器模式的產生 301
8.3.2 傳統兩層客戶機/伺服器模式 302
8.3.3 經典三層客戶機/伺服器模式 305
8.4 瀏覽器/伺服器模式 307
8.5 基於構件的模式 309
8.6 軟體架構建模技術 311
8.6.1 軟體架構“4+1”視圖模型 312
8.6.2 “4+1”視圖模型建模方法 312
8.6.3 軟體架構建模的疊代過程 314
本章小結 315
習題 316
第9章 基於組件的軟體開發 317
9.1 組件開發概述 317
9.1.1 組件及其相關概念 317
9.1.2 組件復用 319
9.2 組件模型 322
9.2.1 CORBA 322
9.2.2 EJB 327
9.2.3 COM 334
9.2.4 三種組件模型的技術對比 340
本章小結 341
習題 341
第10章 面向服務的軟體架構——SOA 342
10.1 SOA簡介 342
10.1.1 SOA參考模型 343
10.1.2 SOA的設計原則 344
10.1.3 SOA實現的主要技術規範 345
10.2 SOA的框架 351
10.2.1 以服務消費者為中心的SOA 352
10.2.2 以用戶為中心的SOA 355
10.3 SOA實例——基於SOA的OA與ERP整合套用 358
10.4 SOA的套用分析 361
本章小結 363
習題 363
參考文獻 364

相關詞條

熱門詞條

聯絡我們