注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計其他編程語言/工具程序設計的模式語言(卷1)

程序設計的模式語言(卷1)

程序設計的模式語言(卷1)

定 價:¥49.00

作 者: (美)科普林(Coplien, O.J.), (美)施密特(Schmidt, D.C.)著
出版社: 清華大學出版社
叢編項: 軟件模式系列
標 簽: 程序設計語言學

ISBN: 9787302127949 出版時間: 2006-05-01 包裝: 平裝
開本: 16開 頁數(shù): 428 字數(shù):  

內容簡介

  PLoP(Pattern Languages of Program Design)創(chuàng)立的宗旨是創(chuàng)造新文件。這暗示著PLoP的創(chuàng)始人對現(xiàn)有的文化有些不滿,事實的確如此。這些創(chuàng)始人(面向對象編程社區(qū)的幾位知名人物)已經意識到:他們的才華已受到文件偏見的限制。這種偏見源于科學出版物的傳統(tǒng),一言以蔽之就是喜新厭舊,總是追逐最新最近的發(fā)明或發(fā)現(xiàn),而忽視傳統(tǒng)的東西,而不論這些所謂的發(fā)明或發(fā)現(xiàn)是否有用。PLoP的創(chuàng)始人對傳統(tǒng)的興趣也許源自他們對軟件重用的研究,或者來自他們的觀察:盡管采用了最新的技術,但是由于缺少常用的解決方案,項目最終還是失敗了。最重要的是:所有的創(chuàng)始人一致認為他們應該集中精力從事解決方案的推廣。PLoP大會就是在這種背景下召開的。本書是“模式形式”系列書籍的第一部,這是我們心目中最佳的解決方案共享方式。我們要求作者提交“模式形式”方面的論文,但不要求實際地闡述形式的含義。Christopher Alexander創(chuàng)造了“模式語言”這一術語并且在他的著作The Timeless Way of Building中很好地闡述了該形式。很多作者對這項工作都很熟悉,而更多的人則是通過OOPSLA研討會和Internet討論組了解到它的。即便如此,我們還是感到各位作者希望暢言如何將Alexander的形式應用到計算機編程領域。有一點我們始終堅持:每篇論文描述一個解決方案,可以用來解決一個問題。讀者在閱讀本書時會發(fā)現(xiàn),各位作者的解決方案所覆蓋的問題范圍相當廣。這也意味著并非每一章都能引起讀者同等的興趣。我們希望隨著PLoP社區(qū)的發(fā)展和成熟,PLoP自身能隨著興趣方向而分化。未來的書籍不會要求它們有如此廣泛的讀者。在此我們希望讀者能夠細讀每一章,即使您并不打算立即應用所讀到的內容,也可以啟發(fā)表達模式的新靈感,并且的確會提出一個角度來理解開發(fā)軟件如此困難的原因。雖然涉及的主題豐富多樣,PLoP的作者和參與者之間卻達成了一些令人驚嘆的共識。例如,多數(shù)人都已發(fā)現(xiàn):解決方案(模式的本質)可以輕松超越其表達形式的準確特性。模式最終必定停留在人的頭腦中,所以各種書寫風格(從標準模板的標簽化分節(jié)到更具風格的運行段落)對模式成功的貢獻都不如一些更基本的元素。這些元素包括:設立問題及其上下文,分析施加于解決方案的影響力,以及(最重要的)提供具體的解決方案。包含這些元素的模式都成功了。PLoP'94的核心特色就是作者研討會,作者聽取對他們論文的小組討論并就其中的亮點和不足展開爭論,而不是把論文發(fā)給每位聽眾了事。這就給了作者一個機會,不僅知道如何交流,還能發(fā)現(xiàn)他們所研究的技術的其他替代方案。(幾十年前在創(chuàng)作性寫作社區(qū)發(fā)源而來的)作者研討會是新作者學習前輩的經驗技巧推敲他們見解的重要論壇。我們很感謝Richard Gabrief在1994年春天把我們領入作者研討會。就我們所知,這是它第一次被用于技術社區(qū),不過看起來效果甚佳。這就是促生本書的理念和過程。我們對結果很滿意,相信各位讀者也會。因此我們要全速前進。每周我們都會發(fā)現(xiàn)新的證據(jù):我們和我們的作者所促成的焦點轉移對我們編寫程序的方法具有深遠的影響。他們也通過實例昭示了我們對軟件工程未來的憧憬。參與本書翻譯和審校工作的有:謝文亮、馬睿倩、梁金昆、張麗萍、王新彥、劉敏、李娟、劉穎、吳東升、鄭剛、李楠、賀倩、李蓉、張穎、劉偉、王彥、王婷、李曉東、吳玲、胡靜、張旭、王東、張雄、盧冰、高宏、李曉梅、汪剛、張健、劉洋、蘇建忠、王欣軒、于濤、李敏等,在此表示感謝。

作者簡介

  JamesO.Coplien是AT&T貝爾實驗室軟件生產研究部門的成員。他的研究方向主要集中在多范例開發(fā)方法和軟件開發(fā)過程的組織人類學。DouglasC.Schmidt是WashingtonUniversity(位于St.Louis,Missouri)計算機科學系的教員。他的研究方向主要是為高速網(wǎng)絡開發(fā)面向對象進行通信系統(tǒng)的實踐技術。

圖書目錄

第1部分  框架和組件
第1章  功能點選    4
第2章  一套基于工具和材料比喻的工具構造和集成模式語言    6
背景和動機    6
總體方法    7
中心思想和設計比喻    7
設計比喻和設計模式之間的區(qū)別    8
工具和材料比喻    9
工具構造和集成設計模式    12
圖形符號    12
設計模式線路圖    12
工具構造設計模式    14
單個工具設計模式的應用    22
工具集成    23
擴展范例    23
工具集成設計模式    24
展望:系統(tǒng)邊界    27
實際運轉的工具和材料    28
工具和材料比喻    30
展望    30
致謝    30
參考文獻    31
第3章  靈活的命令解釋器:一個可擴展、語言無關解釋器系統(tǒng)模式    33
第4章  舊服務器,新客戶端:一套客戶/服務器框架模式語言    39
介紹    39
關于具體化(REIFICATION)的注解    40
例外(Exception)    40
單人游戲(SOLITAIRE)    41
記錄對象(OBJECTS FROM RECORDS)    41
請求(REQUEST)    42
實物化(MATERIALIZATION)    42
終結化(FINALIZATION)    43
身份管理(IDENTITY MANAGEMENT)    43
巨滾(MEGA-SCROLLING)    44
搜索業(yè)務對象(SEARCHING BUSINESS OBJECTS)    44
依賴性(DEPENDENCY)(模型—視圖、廣播、觀察者、MVC)    45
創(chuàng)建和更新業(yè)務對象(CREATING AND UPDATING BUSINESS OBJECTS)    45
工廠方法(Factory Method)    46
窗口保管(WINDOW-KEEPING)    46
察看(VIEWING)    47
一個客戶/服務器框架(A CLIENT/SERVER FRAME- WORK)    47
結論    47
致謝    48
參考文獻    48
第2部分  系統(tǒng)和分布式處理
第5章  一套生成式的分布處理模式語言    54
對模式和它們用途的一些思考    54
朝著一套分布式計算的模式語言前進    55
名稱:定義數(shù)據(jù)結構(DEFINE THE DATA STRUCTURE)    55
名稱:確定名詞(IDENTITY THE NOUNS)    56
名稱:抽取公用屬性(FACTOR OUT COMMON ATTRIBUTE)    57
名稱:規(guī)范化角色(NORMALIZE THE ROLES)    59
名稱:確定問題領域關系(IDENTIFY PROBLEM DOMAIN
RELATIONSHIPS)    61
名稱:引入虛擬屬性(INTRODUCE VIRTUAL ATTRIBUTES)    62
名稱:激活數(shù)據(jù)(ANIMATE THE DATA)    63
名稱:時間線索分析(TIME THREAD ANALYSIS)    64
命名:決定參與者(DETERMINE THE ACTORS)    64
原始會議模式    65
參考文獻    68
第6章  G++:一套計算機集成制造模式語言    69
摘要    69
介紹    69
應用領域    70
論文組織    70
模式語言    70
模式1  控制層次的層級(A HIERARCHY OF CONTROL LAYERS)    72
模式2  控制模塊之間的可見性和通信(VISIBILITY AND
COMMUNICATION BETWEEN CONTROL MODULES)    74
模式3  按并發(fā)性給對象分類(CATEGORIZE OBJECT FOR
CONCURRENCY)    75
模式4  事件觸發(fā)的動作(ACTIONS TRIGGERED BY EVENT)    77
模式5  服務“等待”(SERVICES "WAITING FOR")    77
模式6  客戶端/服務器/服務模型:實現(xiàn)控制模塊(THE
CLIENT/SERVER/ SERVICE MODEL:IMPLEMENTATING
MODULES OF CONTROL)    79
模式7  “多類型服務”控制模塊的實現(xiàn)(IMPLEMENTATION OF
"MULTIPLE KINDS OF SERVICES" CONTROL MODULES    80
模式8  控制模塊的接口(THE INTERFACE TO CONTROL MODULES)    81
模式9  原型和現(xiàn)實(PROPERTY AND REALITY)    83
模式10  控制模塊分布(DISTRIBUTION OF CONTROL MODULES)    84
和“設計模式編目”比較    87
結論    88
致謝    88
參考文獻    88
第7章  分層體系結構的創(chuàng)建模式    91
摘要    91
背景    91
模式    91
階梯模式    91
橋接模式    94
對稱重用模式    95
提升引用以增強可重用性    97
參考文獻    97
第8章  半對象+協(xié)議模式(HOPP)    98
第9章  主從模式    101
摘要    101
介紹    101
模式    103
理由    103
適用性    103
分類    103
描述    103
動態(tài)行為    104
方法    104
實現(xiàn)    105
示例    105
討論    106
參考文獻    107
第3部分  業(yè)務對象
第10章  信息完整性的CHECKS模式語言    110
整值    110
異常值    111
無意義行為    112
回顯    113
可見含義    114
延遲驗證    115
快速預測    116
假定發(fā)布    116
預測確認    117
診斷式查詢    117
第11章  賬戶號碼模式    119
模式    119
參考文獻    122
致謝    122
第12章  星型結構:一種查詢優(yōu)化方案模式語言    123
查詢優(yōu)化過的數(shù)據(jù)庫    124
整個業(yè)務實體    126
關鍵業(yè)務活動和影響    127
事務處理歷史    128
人員、地點和事物    130
時間    132
維上卷    133
第4部分  過程與組織
第13章  產生式開發(fā)過程模式語言    137
介紹    137
語言內容    138
語言的驅動因素    139
組織內無名的質    140
語言原理    140
備注    141
致謝    141
模式語言    142
模式1:確定組織的規(guī)模    142
模式2:自選團隊    144
模式3:獨奏愛好者    144
模式4:確定進度    145
模式5:形式服從功能    146
模式6:角色的專業(yè)知識    146
模式7:逐步深入    147
模式8:見習生    147
模式9:組織服從位置    148
模式10:組織服從市場    149
模式11:開發(fā)人員控制過程    149
模式12:老板    150
模式13:體系結構設計師控制產品    151
模式14:反向法則    152
模式15:體系結構設計師也進行實現(xiàn)    152
模式16:檢查體系結構    153
模式17:代碼所有權    153
模式18:根據(jù)測試設計劃分應用設計    154
模式19:進行品質保證    155
模式20:客戶交往    155
模式21:分組驗證    157
模式22:場景定義問題    157
模式23:雇傭分析員    158
模式24:防火墻    159
模式25:看門人    159
模式26:形成循環(huán)圈    160
模式27:轉移職責    161
模式28:水牛山    161
模式29:內部工作流    163
模式30:每個角色需要3~7個助手    165
模式31:命名的穩(wěn)定基礎    166
模式32:分治    167
模式33:分解各個階段    167
模式34:輪軸、鋼圈和輻條    168
模式35:美學模式    169
模式36:耦合減少延遲    169
模式37:原型    169
模式38:不要打盹    172
模式39:配對開發(fā)    172
模式40:中止阻塞    172
模式41:不要打斷一個中斷    173
模式42:成功補償    173
參考文獻    175
第14章  生命周期以及支持演變和復用的重構模式    178
介紹    178
背景對象演化    180
模式:原型化均衡(First-Pass)設計    180
上下文    180
問題    180
解決方案    181
相關模式    181
模式:擴展初始原型    182
上下文    182
問題    182
解決方案    182
相關模式    183
模式:合并程序以支持演化和重用    183
上下文    183
問題    183
解決方案    184
相關模式    185
模式:從繼承層次結構中演化聚合    186
上下文    186
問題    186
解決方案    187
相關模式    188
模式:創(chuàng)建抽象超類    188
上下文    188
問題    188
解決方案    189
相關模式    190
討論    190
致謝    191
參考文獻    191
第15章  RAPPeL:一種用于面向對象開發(fā)的“需求分析過程”模式語言    194
摘要    194
RAPPeL的基本原理    194
警告    195
模式語言模式1:構建正確的東西    197
模式5:客戶期望的管理與滿足    198
模式9:客戶和諧    198
模式14:贊助人意圖    199
模式17:定義需求    200
模式20:問題域分析    201
模式22:信息需求    202
模式24:域對象的尋找和定義    203
模式25:域對象的分類、關聯(lián)與分組    204
模式26:域對象的細化    205
模式27:對象老化    206
模式28:對象造型    207
模式30:行為性需求    208
模式32:展望    210
模式34:需求規(guī)范    210
模式36:業(yè)務規(guī)則    213
解決方案    213
約束用例的規(guī)則    213
約束對象及其狀態(tài)的規(guī)則    214
模式40:實用外部需求    215
模式50:用戶界面需求    215
模式97:原型    216
模式99:需求驗證    217
參考文獻    218
第16章  毛蟲的命運:一種用于分析-設計轉換的模式語言    219
摘要    219
介紹    219
CF模式語言    220
模式1:并發(fā)執(zhí)行線程    221
模式2:并發(fā)線程同步    221
模式3:協(xié)作工作包    222
模式4:工作包內容    223
模式5:工作包狀態(tài)報告    224
模式6:工作包完工報告    225
模式7:工作包優(yōu)先級    225
模式8:工作包安全性    226
模式9:程序形態(tài)    228
模式10:系統(tǒng)成員的角色    230
模式11:決策制定者的角色    230
模式12:工作人員的角色    231
模式13:接口的角色    231
模式14:信息化角色    232
模式15:小家族系統(tǒng)    233
模式16:通過對話完成的工作    234
模式17:關鍵區(qū)域保護    234
模式18:事件獲取    235
模式19:事件路由    236
模式20:人機界面角色是一種特殊的接口角色    237
模式21:數(shù)據(jù)知其出處    238
CF的使用    238
CF的狀態(tài)    239
相關事宜    239
參考文獻    240
第5部分  設計模式及其編目
第17章  一種模式系統(tǒng)    244
摘要    244
介紹    244
一種模式系統(tǒng)    245
如何描述模式    246
模式的分類    247
粒度    247
功能    248
結構化原則    249
模式    250
體系架構級框架    250
設計模式    251
異構的體系架構    253
經驗    255
未決事宜    255
相關研究工作    256
結論與展望    257
參考文獻    258
第18章  設計模式之間的關系    260
摘要    260
介紹    260
設計模式目錄的總結構    261
關系分類    261
需要解決的問題    261
關系類別    263
分類    263
使用分類    265
更改關系和設計模式    265
一個新設計模式:Objectifier    265
其他更改    266
設計模式層    267
層中的組織    267
基本設計模式和技術    267
解決典型軟件問題的設計模式    269
針對特定應用域的設計模式    269
其他組織    269
相關著作    270
結論    270
參考文獻    271
附錄:對象化器模式描述    272
第19章  發(fā)現(xiàn)現(xiàn)有應用中的模式    276
介紹    276
模式    277
容器模式    277
高層設計模式    278
低層設計模式    280
小結    281
參考文獻    281
附錄    281
第20章  實現(xiàn)模式    302
介紹    302
抽象模式和具體模式    302
實現(xiàn)過程中模式被摒棄    303
多簇相互依賴的類    304
模式類    305
常用模式庫    307
例證    311
概念問題    312
致謝    313
參考文獻    313
附錄A:模式作為一個類    313
附錄B:類組合的C++實現(xiàn)    314
第6部分  體系結構與通信
第21章  流:“拉力驅動(Pull-Driven)”式處理的一種模式    321
模式名稱:流    321
參考文獻    327
第22章  管道和過濾器體系結構    329
摘要    329
介紹    329
模式    331
結論    336
參考文獻    337
附錄    337
第23章  基于模式的集成體系結構    340
摘要    340
介紹    340
集成模式的范例    342
結論    346
致謝    347
參考文獻    347
相關書目    347
第24章  軟件體系結構的模式    349
摘要    349
軟件體系結構的設計模式    349
組件包裝和交互的模式    352
亞歷山大的模式    354
致謝    354
參考文獻    355
第7部分  對象用法及對象風格
第25章  VisualWorks Smalltalk之ValueModel框架的理解及使用    359
介紹    360
什么是ValueModel    361
使用ValueModel泛化對象的性質    361
使用ValueModel共享值    363
如何使用ValueModel    364
使用onChangeSend: to:登記對值的興趣    364
使用ValueModel鏈代替onChangeSend: to:    366
封裝value/value:的發(fā)送者    368
確保共享同一個值的所有對象使用相同的ValueModel    369
維護一致的ValueModel值類型    370
ValueModel的類型    371
使用ValueHolder存放孤立對象    372
使用AspectAdapter存放對象的性質    372
使用BufferedValueHolder延遲新值的提交    373
使用RangeAdaptor分流數(shù)的區(qū)間    374
使用IndexedAdaptor存放集合中的某個索引    375
使用SlotAdaptor存放某個實例變量    376
使用PluggableAdaptor存放對象的某個部分    377
使用TypeConverter來回轉換值的類型    378
使用ScrollValueHolder存放n維空間中的點    379
使用SelectionInList存放列表及列表選中項    379
參考文獻    380
第26章  客戶指定的Self    381
摘要    381
意圖    381
動機    381
適用性    382
結構    382
動態(tài)    384
結果    384
實現(xiàn)    384
示例代碼    386
使用    387
相關模式    388
參考文獻    388
第27章  通過自封裝實現(xiàn)的可復用性    389
簡介    389
模式語言    389
結論    397
第8部分  事件和事件處理程序
第28章  分離組合和處理的模式    401
上下文    401
人造衛(wèi)星數(shù)據(jù)處理    401
實例語法(C++)    404
致謝    406
參考文獻    406
第29章  Reactor:并發(fā)事件信號分離與事件處理程序派發(fā)的對象行為性模式    407
意圖    407
動機    407
適用性    410
結構    411
參與方    411
協(xié)作    411
結果    412
實現(xiàn)    413
示例代碼    415
Client_Acceper類    415
Logging_IO類    417
日志服務器主函數(shù)    418
已知的用途    420
各相關模式    420
致謝    420
參考文獻    421
第30章  事件模式    422
事件為中心的體系結構    422
事件對象類    423
事件的詳細分類    424
面向對象狀態(tài)機    425
請參閱    425
參考文獻    426
附錄  Request Screen Modification(請求屏幕修改)    427

本目錄推薦

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