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

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

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

定 價:¥49.00

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

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

內(nèi)容簡介

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

作者簡介

  JamesO.Coplien是AT&T貝爾實(shí)驗(yàn)室軟件生產(chǎn)研究部門的成員。他的研究方向主要集中在多范例開發(fā)方法和軟件開發(fā)過程的組織人類學(xué)。DouglasC.Schmidt是WashingtonUniversity(位于St.Louis,Missouri)計算機(jī)科學(xué)系的教員。他的研究方向主要是為高速網(wǎng)絡(luò)開發(fā)面向?qū)ο筮M(jìn)行通信系統(tǒng)的實(shí)踐技術(shù)。

圖書目錄

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

本目錄推薦

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