注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)敏捷軟件開(kāi)發(fā):原則、模式與實(shí)踐(英文注釋版)

敏捷軟件開(kāi)發(fā):原則、模式與實(shí)踐(英文注釋版)

敏捷軟件開(kāi)發(fā):原則、模式與實(shí)踐(英文注釋版)

定 價(jià):¥69.00

作 者: Robert C.Martin
出版社: 人民郵電出版社
叢編項(xiàng): 圖靈原版計(jì)算機(jī)科學(xué)系列
標(biāo) 簽: 軟件項(xiàng)目管理

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115164391 出版時(shí)間: 2007-11-01 包裝: 平裝
開(kāi)本: 16 頁(yè)數(shù): 529 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)中,享譽(yù)全球的軟件開(kāi)發(fā)專(zhuān)家和軟件工程大師Robert C. Martin深入而生動(dòng)地使用真實(shí)案例講解了面向?qū)ο蠡驹瓌t、重要的設(shè)計(jì)模式、UML和敏捷實(shí)踐等程序員必備的知識(shí)?!”緯?shū)于2003年榮獲第13屆Jolt大獎(jiǎng),是C++和Java程序員提高自身水平的絕佳教材,也適于用作高校計(jì)算機(jī)、軟件工程專(zhuān)業(yè)相關(guān)課程的教材或參考書(shū)。

作者簡(jiǎn)介

  Robert C.Martin(“Bob大叔”)世界級(jí)的軟件開(kāi)發(fā)大師,著名軟件咨詢(xún)公司Object Mento,公司的創(chuàng)始人和總裁。曾經(jīng)擔(dān)任C++Report雜志主編多年,也是設(shè)計(jì)模式和敏捷開(kāi)發(fā)運(yùn)動(dòng)的主要倡導(dǎo)者之一。

圖書(shū)目錄

Section 1 Agile Development敏捷開(kāi)發(fā)    1
Chaper1 Agile Practices敏捷實(shí)踐    3
    The Agile Alliance敏捷聯(lián)盟    4
    The Manifesto of the Agile Alliance敏捷聯(lián)盟宣言    4
    Principles敏捷原則    6
    Conclusion結(jié)論    8
    Bibliography參考文獻(xiàn)    9
Chaper2 Overview of Extreme Programming極限編程概述    11
    The Practices ofExtreme Programming極限編程的實(shí)踐    11
    Customer Team Member客戶(hù)團(tuán)隊(duì)成員    11
    User Stories用戶(hù)故事    12
    Short Cycles短交付周期    12
    Acceptance Tests驗(yàn)收測(cè)試    13
    Pair Programming結(jié)隊(duì)編程    13
    Test Driven Development測(cè)試驅(qū)動(dòng)開(kāi)發(fā)    14
    Collective Ownership集體昕有權(quán)    14
    Continuous Integration持續(xù)集成    14
    Sustainable Pace可持續(xù)的開(kāi)發(fā)速度    15
    Open Workspace開(kāi)放工作空間    15
    The Planning Game計(jì)劃游戲    15
    Simple Design簡(jiǎn)單設(shè)計(jì)    15
    Refactoring重構(gòu)    16
    Metaphor隱喻    16
    Conclusion結(jié)論    17
    Bibliography參考文獻(xiàn)    17
Chapter3 Planning計(jì)劃    19
    Initial Exploration初始探索    20
    Spiking,Splitting,and Velocity探究、分解和速度    20
    Release Planning發(fā)布計(jì)劃    20
    Iteration Planning迭代計(jì)劃    21
    Task Planning任務(wù)計(jì)劃    21
    The Halfway Point迭代中點(diǎn)    22
    Iterating迭代    22
    Conclusion結(jié)論    22
    Bibliography參考文獻(xiàn)    22
Chapter4 Testing測(cè)試    23
    Test Driven Development測(cè)試驅(qū)動(dòng)開(kāi)發(fā)    23
    An Example of Test-First Design測(cè)試優(yōu)先設(shè)計(jì)的例子    24
    Test Isolation測(cè)試促進(jìn)隔離    25
    Serendipitous Decoupling意外獲得的解耦合    26
    Acceptance Tests驗(yàn)收測(cè)試    27
    Example of Acceptance Testing驗(yàn)收測(cè)試示例    27
    Serendipitous Architecture意外獲得的架構(gòu)    29
    Conclusion  結(jié)論    29
    Bibliography參考文獻(xiàn)    29
Chapter5  Refactoring重構(gòu)    31
    Generating Primes:A Simple Example of Refactoring素?cái)?shù)產(chǎn)生程序:一個(gè)簡(jiǎn)單的重構(gòu)示例    32
    The Final Reread最后審視    38
    Conclusion結(jié)論42
    Bibliography參考文獻(xiàn)    42
Chapter6 A Programming Episode一次編程實(shí)踐43
    The Bowling Game保齡球比賽    44
    Conclusion結(jié)論    82
Section 2  Agile Design敏捷設(shè)計(jì)    85
    Symptoms of Poor Design糟糕設(shè)計(jì)的癥狀    85
    Principles原則        86
    Smells and Principles壞味與原則    86
    Bibliography參考文獻(xiàn)    86
Chapter 7  What Is Agile Design?什么是敏捷設(shè)計(jì)    87
    What Goes Wrong with Software?軟件哪里出問(wèn)題了    87
    Design Smells--The Odors of Rotting Software設(shè)計(jì)壞味--腐化軟件的氣味    88
    What Stimulates the Software to Rot?軟件為何腐化    89
    Agile Teams Don’t Allow the Software to Rot敏捷團(tuán)隊(duì)不允許軟件腐化    90
    The“Copy”P(pán)rogram copy程序    90
    Agi-l:Desig-n of the c。py Example copy~序的敏捷設(shè)計(jì)    93
    How Did the Agile Developers Know what to Do?敏捷開(kāi)發(fā)人員怎樣做    94
    Keeping the Design As Good As It Can Be盡量保持設(shè)計(jì)簡(jiǎn)潔    94
    Conclusion結(jié)論    94
    Bibliography參考文獻(xiàn)    94
Chapter 8  SRP:The Single-Responsibility Principle SRP:?jiǎn)我宦氊?zé)原則    95
    A CLASS SIIOUI HAVE 0NLY 0NE REASON TO CHANGE.
    SRP:The Single-Responsibility Principle SRP:?jiǎn)我宦氊?zé)原則    95
    What Is a Responsibility?定義職責(zé)    97
    Separating Coupled Responsibilities分離耦合的職責(zé)    97
    Persistence持久化    98
    Conclusion結(jié)論    98
    Bibliography參考文獻(xiàn)    98
Chapter 9  OCP:The Open-Closed Principle OCP:開(kāi)放一封閉原則    99
    SOFTWARE ENTITIES(CLASSES,MODULES,FUNCTI0NS,ETC.) SHOULD BE OPEN
    FOR EXTENSION,BUT CLOSED FOR MODIFICATI0N.
    OCP:The Open-Closed Principle OCP:開(kāi)放封閉原則    99
    Description概述    100
    Abstraction Is the Key抽象是關(guān)鍵    100
    The Shape Application Shape應(yīng)用程序    l0l
    Violating the OCP  違反OCP    101
    Conforming to the OCP遵守OCP    103
    OK,I Lied好吧,我說(shuō)謊了    104
    Anticipation and“Natural-Structure預(yù)測(cè)與“貼切的”結(jié)構(gòu)    105
    Putting the“Hooks-In放置“吊鉤”    1 05
    Using Abstraction to Gain Explicit Closure使用抽象獲得顯式封閉    106
    Using a“Data-Driven”Approach to Achieve Closure使用“數(shù)據(jù)驅(qū)動(dòng)”獲得封閉    107
    Conclusion結(jié)論    l08
    Bibliography參考文獻(xiàn)    109
Chapter 10 LSP:The Liskov Substitution Principle LSP:Liskov替換原則    111
    SUBTYPES MUST BE SUBSTTUTABLE FOR THEIR BASE TYPES.
    LSP:The Liskov Substitution Principle LSP:Liskov替換原則    111
    A Simple Example of a Violation of the LSP違反LSP的簡(jiǎn)單例子    112
    Square and Rectangle,a More Subtle Violation正方形和矩形,一個(gè)更微妙的違反情形    113
    The Real Problem真正的問(wèn)題所在    l15
    Validity Is Not Intrinsic有效性并非本質(zhì)屬性    l16
    ISA Is about Behavior ISA重在行為    l16
    Design by Contract按契約設(shè)計(jì)    l17
    Specifying Contracts in Unit Tests在單元測(cè)試中指定契約    117
    A Real Example一個(gè)實(shí)例    l17
    Motivation動(dòng)機(jī)    118
    Problem問(wèn)題    119
    A Solution That Does Not Conform to the LSP不遵守LSP的解決方案    l20
    An LSP-Compliant Solution遵守LSP的解決方案    l20
    Factoring Instead of Deriving用提取公共部分的方法代替繼承    12l
    Heuristics and Conventions啟發(fā)式規(guī)則號(hào)慣用法    124
    Degenerate Functions in Derivatives派生類(lèi)中的退化函數(shù)    124
    Throwing Exceptions from Derivatives從派生類(lèi)拋出異常    124
    Conclusion結(jié)論    l25
    Bibliography參考文獻(xiàn)    125
Chapter11 DIP:The Dependency-Inversion Principle DIP:依賴(lài)倒置原則    127
    A.HIGH-LEVEL MODULES SHOULD NOT DEPEND UPON LOW-LEVEL MODULES.
    BOTH SHOULD DEPEND ON ABSTRACTIONS.
    B.ABSTRACTIONS SHOULD NOTDEPEND ONDETAILS.DETAILS SHOULD
    DEPEND ON ABSTRACTIONS.
    DIP:The Dependency-Inversion Principle DIP:依賴(lài)倒置原則    127
    Layering層次化    128
    An Inversion of Ownership倒置的接口所有權(quán)    128
    Depend on Abstractions依賴(lài)于抽象    129
    A Simple Example簡(jiǎn)單的DIP示例    130
    Finding the Underlying Abstraction找出潛在的抽象    131
    The Furnace Example熔爐示例    132
    Dynamic V.Static Polymorphism動(dòng)態(tài)多態(tài)與靜態(tài)多態(tài)    133
    Conclusion結(jié)論    134
    Bibliography參考文獻(xiàn)    134
Chapter 12 ISP:The Interface-Segregation Principle ISP:接口隔離原則    135
    Interface Pollution接口污染    135
    Separate Clients Mean Separate Interfaces分離客戶(hù)就是分離接口    137
    The Backwards Force Applied by Clients Upon Interfaces客戶(hù)對(duì)接口的反作用力    137
    CLIENTS SHOULD NOT BE FORCED TO DEPEND ON METHODS THAT THEY DO NOT USE.
    ISP:The Interface-Segregation Principle ISP:接口隔離原則    137
    Class Interfaces v.0bject Interfaces類(lèi)接口與對(duì)象接口    138
    Separation through Delegation使用委托分離接口    138
    Separation through Multiple Inheritance使用多重繼承分離接口    139
    The ATM User Interface Example ATM用戶(hù)界面的例子    139
    The Polyad v.the Monad多參數(shù)與單參數(shù)    144
    Conclusion結(jié)論    145
    Bibliography參考文獻(xiàn)    145
Section 3 The Payroll Case Study薪酬系統(tǒng)案例研究    147
    Rudimentaxy Specification of the Payroll System薪酬系統(tǒng)的初步規(guī)格說(shuō)明    148
    Exercise練習(xí)    148
    Use Case 1:Add New Employee用例1:增加新雇員    148
    Use Case 2:Deleting an Employee用例2:刪除雇員    149
    Use Case 3:Post a Time Card用例3:登記考勤卡    149
    Use Case 4:Posting a Sales Receipt用例4:登記銷(xiāo)售憑條    149
    Use Case 5:Posting a Union Service Charge用例5:登記工會(huì)會(huì)費(fèi)    150
    Use Case 6:Changing Employee Details用例6:更改雇員明細(xì)    150
    Use Case 7:Run the Payroll for Today用例7:運(yùn)行系統(tǒng),今天付酬    150
Chapter13 COMMAND and ACTIVE 0BJECT COMMAND模式與ACTIVE OBJECT模式    151
    Simple Commands簡(jiǎn)單的Command    152
    Transactions事務(wù)    153
    Physical and Temporal Decoupling實(shí)體上解耦和時(shí)間上解耦    154
    Temporal Decoupling時(shí)間上解耦    154
    UNDO undo()方法    154
    ACTIVE 0BJECT ACTIVE OBJECT模式    155
    Conclusion結(jié)論    l59
    Bibliography參考文獻(xiàn)    159
Chapter14 TEMPLATE METHOD&STRATEGY:Inheritance VS.Delegation
    TEMPLATE METHOD模式~nSTRATEGY模式:繼承和委托    161
    TEMPLATE METHOD TEMPLATE METHOD模式    162
    Pattern Abuse濫用模式    l64
    Bubble Sort冒泡排序    l65
    STRATEGY STRATEGY模式    168
    Sorting Again再次排序    l70
    Conclusion結(jié)論    l72
    Bibliography參考文獻(xiàn)    l72
Chaper15 FACADE and MEDIATOR FACADE模式和MEDlATOR模式    173
    FACADE  FACADE模式    173
    MEDIATOR  MEDIATOR模式    174
    Conclusion結(jié)論    l76
    Bibliography參考文獻(xiàn)    l76
Chapter16 SINGLETON and MONOSTATE  SINGLETON模式和MONOSTATE模式    177
    SINGLETON sINGLEToN模式    178
    Benefits of the SINGLETON SINGLETON模式的好處    179
    Costs of the SINGLETON SINGLETON模式的代價(jià)    179
    SINGLETON in Action運(yùn)用SINGLETONN模式    179
    MONOSTATE MONOSTATE模式    180
    Benefits of MONOSTATE MONOSTATE模式的好處    l82
    Costs of MONOSTATE MONOSTATE模式的代價(jià)    l82
    MONOSTATE in Action運(yùn)用MONOSTATE模式    l82
    Conclusion結(jié)論    187
    Bibliography參考文獻(xiàn)    l87
Chapter 17 NUI.I。0BJECT NULL OBJECT模式    189
    Conclusion結(jié)論    l92
    Bibliography參考文獻(xiàn)    192
Chapter 18 The Payroll Case Study:Iteration One Begins 薪酬系統(tǒng)案例研究:第一次迭代開(kāi)始    193
    Introduction引言    193
    Specification規(guī)格說(shuō)明    193
    Analysis bv Use Cases基于用例分析    194
    Adding Employees增加新雇員    195
    Deleting Employees刪除雇員    196
    Posting Time Cards登記考勤卡    196
    Posting Sales Receipts登記銷(xiāo)售憑條    197
    Posting a Union Service Charge登記工會(huì)會(huì)費(fèi)    197
    Changing Employee Details更改雇員明細(xì)    198
    Payday發(fā)薪日    199
    Reflection:What Have We Learned?反思:我們學(xué)到了什么    20 1
    Finding the Underlying Abstractions找出底層的抽象    201
    The Schedule Abstraction時(shí)間表抽象    201
    Payment Methods支付方式    202
    Affiliations從屬關(guān)系    202
    Conclusion結(jié)論    203
    Bibliography參考文獻(xiàn)    203
Chapter 19 The Payroll Case Study:Implementation薪酬系統(tǒng)案例研究:實(shí)現(xiàn)    205
    Adding Employees增加雇員    206
    The Payroll Database薪酬系統(tǒng)數(shù)據(jù)庫(kù)    207
    Using TEMPLATE METHOD to Add Employees使用TEMPLATE MEn{OD模式增加雇員209
    Deleting Employees刪除雇員    212
    Global Variables全局變量    213
    Time Cards,Sales Receipts,and Service Charges考勤卡、銷(xiāo)售憑條和會(huì)費(fèi)    214
    Changing Employees更改雇員屬性    220
    Changing Classification更改雇員類(lèi)別    224
    What Was I Smoking?一點(diǎn)意外    229
    Paying Employees支付雇員薪水    233
    Do We Want Developers Making Business Decisions?我們希望開(kāi)發(fā)員做業(yè)務(wù)決策嗎235
    Paying S alaried Employees支付領(lǐng)月薪的雇員薪水    235
    Paying Hourly Employees支付鐘點(diǎn)工薪水    237
    Pay Periods:A Design Problem支付期限:設(shè)計(jì)問(wèn)題    241
    Main Program主程序    248
    The Database數(shù)據(jù)庫(kù)    248
    Summary of Payroll Design薪酬系統(tǒng)案例設(shè)計(jì)總結(jié)    249
    History歷史    249
    Resources資源    250
    Bibliography參考文獻(xiàn)    250
Section 4 Packaging the Payroll System打包薪酬系統(tǒng)    251
Chapter 20 Principles of Package Design包設(shè)計(jì)原則    253
    Designing with Packages?使用包進(jìn)行設(shè)計(jì)    253
    Granularity:The Principles of Package Cohesion包的內(nèi)聚性原則:粒度    254
    The Reuse-Release Equivalence Principle(REP)重用發(fā)布等價(jià)原則    254
    THE GRANULE OF REUSE IS THE GRANULE OF RELEASE.
    The Common-Reuse Principle(CRP)共同重用原則    255
    THE CLASSES IN A PACKAGE ARE REUSED TOGETHER.IF YOU REUSEONE OF THE
    CLASSES IN A PACKAGE,YOU REUSETHEMKEL.
    The Common-Closure Principle(CCP)共同封閉原則    256
    THE CLASSES IN A PACKAGE SHOULD BE CLOSED TOGETHER AGAINST THE SAME KINDS 0F CHANGES.A CHANGE THAT AFFECTS A PACKAGE AFFECTS ALL THE CLASSES IN THAT PACKAGE AND NO OTHER PACKAGES.
    Summary of Package Cohesion包內(nèi)聚性總結(jié)    256
    Stability:The Principles 0f Package Coupling包的耦合性原則:穩(wěn)定性    256
    The Acyclic-Dependencies Principle(ADP)無(wú)環(huán)依賴(lài)原則    256
    ALLOW NO CYCLES IN THE PACKAGE DEPENDENCY GRAPH.
    The Weekly Build每周構(gòu)建    257
    Eliminating Dependency Cycles消除依賴(lài)環(huán)    257
    The Effect of a Cycle in the Package Dependency Graph    258
    環(huán)在包依賴(lài)關(guān)系圖中造成的影響
    Breaking the Cycle解除依賴(lài)環(huán)    259
    The“Jitters”顛簸    259
    Top-Down Design  自頂向下設(shè)計(jì)    260
    The Stable-Dependencies Principle(SDP)穩(wěn)定依賴(lài)原則(SDP)    261
    DEPEND IN TIlE DIRECTION OF STABILITK
    Stability穩(wěn)定性    26 1
    Stability Metrics穩(wěn)定性度量    262
    Not All Packages Should Be Stable并非所有包都應(yīng)該是穩(wěn)定的    263
    Where Do We Put the High-level Design?高層設(shè)計(jì)的位置    264
    The Stable-Abstractions Pri nciplc(SAP)穩(wěn)定抽象原則(SAP)    264
    A PACKAGE SHLOUD BE AS ABSTRACT As IT IS STABLE.
    Measuring Abstraction抽象性度量    265
    The Main Sequence主序列    265
    Distance from the Main Sequence到主序列的距離    266
    Conclusion結(jié)論    268
Chapter 21 FACTORY FACTORY模式    269
    A Dependency Cycle依賴(lài)環(huán)    27 l
    Substitutable Factories可替換的工廠    272
    Using Factories for Test Fixtures對(duì)測(cè)試支架使用工廠    273
    How Important Is It to Use Factories?工廠的重要性    274
    Conclusion結(jié)論    274
    Bibliography參考文獻(xiàn)    274
Chapter 22 The Payroll Case Study(Part 2)薪酬系統(tǒng)案例研究:第2部分    275
    Package Structure and Notation包結(jié)構(gòu)與圖示    276
    Applying the Common Closure Principle rCCPl應(yīng)用CCP    277
    Applying the Reuse Release Equivalency Principle(REP)應(yīng)用REP    278
    Coupling and Encapsulation耦合和封裝    279
    Metrics度量    279
    Applying the Metrics to the Payroll Application度量薪酬應(yīng)用程序    282
    Object Factories對(duì)象工廠    285
    The Object Factory for Transactionlmplementation
    Transactionlmplementation的對(duì)象工廠    286
    Initializing the Factories初始化工廠    286
    Rethinking the Cohesion Boundaries重新思考內(nèi)聚的邊界    287
    The Final Package Structure最終的包結(jié)構(gòu)    287
    Conclusion結(jié)論    290
    Bibliography參考文獻(xiàn)    290
Section 5 The Weather Station Case Study氣象站案例研究    291
Chapter23 COMPOSITE COMPOSITE模式    293
    Example:Composite Commands示例:組合命令    294
    Multiplicity or Not Multiplicity多重性還是非多重性    295
Chapter 24 OBSERVERIBacking into a Pattern OBSERVER--演化出模式    297
    The Digital Clock數(shù)字時(shí)鐘    297
    Conclusion結(jié)論    314
    The Use ofDiagrams in this Chapter本章中圖的使用    314
    Thc OBSERVER Pattern OBSERVER模式    3l5
    How OBSERVER Manages the Principles ot’OOD OBSERVER中應(yīng)用的OOD原則    316
    Bibliography參考文獻(xiàn)    316
Chapter25 ABSTRACT SERVER,ADAPTER,and BRIDGE    317
    ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式    317
    ABSTRACT SERVER ABSTRACT SERVER模式    318
    Who Owns the Interface?誰(shuí)擁有接口    318
    Adapter ADAPTER模式    319
    The class Form of ADAPTEP,類(lèi)形式的ADAPTER模式    319
    The Modem Problem,ADAPTERS and LSP調(diào)制解調(diào)器問(wèn)題、適配器以及LSP    320
    BRIDGE BRIDGE模式    322
    Conclusion結(jié)論    324
    Bibliography參考文獻(xiàn)    325
Chapter26 PROXY and STAIRWAY TO HEAVEN:Managing Third Party APIs
    PROXY模式和GATEWAY模式:管理第三方APl    327
    PROXY PROXY模式    327
    ProxifVing the Shopping Cart為購(gòu)物車(chē)創(chuàng)建代理    332
    Summary ot’PROXY PROXY小結(jié)    344
    Dealing with Databases.Middleware,and Other Third Party Interfaces使用數(shù)據(jù)庫(kù)、中間件以及其他第三方接口      345
    STAIRWAY TO HEAVEN STAIRWAY TO HEAVEN模式    347
    Example of STAIP,WAY TO HEAVEN STAIRWAYTO HEAVEN示例    348
    Other Patterns That Can Be Used with Databases可用于數(shù)據(jù)庫(kù)的其他模式    353
    Conclusion結(jié)論    354
    Bibliography參考文獻(xiàn)    354
Chapter 27 Case Study:Weather Station案例研究:氣象站軟件    355
    The Cloud Company Cloud公司    355
    The WMS-LC Soflware WMS-LC軟件    356
    Language Selection語(yǔ)言選擇    357
    Nimbus-LC Software Design Nimbus-LC軟件設(shè)計(jì)    357
    24一Hour History and Persistence 24小時(shí)歷史及持久化    368
    Implementing the HiLo Algorithms實(shí)現(xiàn)HiLo算法    371
    Conclusion結(jié)論    379
    Bibliography參考文獻(xiàn)    379
    Nimbus-LC Requirements Overview Nimbus-LC需求概述    379
    Usage Requirements使用需求    379
    24一Hour History 24小時(shí)歷史    379
    User Setup用戶(hù)設(shè)置    379
    Administrative Requirements管理需求    380
    Nimbus-LC Use Cases Nimbus-LC用例    380
    Actors參與者    380
    UseCases用例    380
    Measurement History測(cè)量歷史    380
    Setup設(shè)置    381
    Administration管理    381
    Nimbus-LC Release Plan Nimbus-LC發(fā)布計(jì)劃    3 8 1
    Introduction小引    3 8 1
    Release I    381
    Risks風(fēng)險(xiǎn)    382
    Deliverable(s)交付物    382
    Release II    382
    Use Cases Implemented實(shí)現(xiàn)的用例    382
    Risks風(fēng)險(xiǎn)    383
    Deliverable(s)交付物    383
    Rclease III    383
    Use Cases Implemented實(shí)現(xiàn)的用例    383
    Risks風(fēng)險(xiǎn)    383
    Deliverable(s)交付物    383
Section 6 The ETS Case Study ETS案例研究    385
Chapter 28 VISITOR VISITOR模式    387
    The VISITOR Family of Design Patterns VISITOR系列設(shè)計(jì)模式    388
    VISITOR VISITOR模式    388
    VISITOR is Like a Matrix VISITOR就像一個(gè)矩陣    391
    ACYCLIC VISITOR  ACYCLICVISITOR模式    391
    ACYCLIC VISITOR ls Like a Sparse Matrix ACYCLIC VISITOR就像一個(gè)稀疏矩陣    396
    Using VISITOR in Report Generators在報(bào)表生成器中使用ⅥsIToR模式    396
    Other Uses of VISITOR  VISITOR的其他用途402
    DECORATOR  DEcoRAToR模式      403
    Multiple Decorators多個(gè)裝飾器406
    EXTENSION OB IECT EXTENSION OBJECT模式408
    Conclusion結(jié)論    418
    Reminder提醒418
    Bibliography參考文獻(xiàn)    4l8
Chapter29 STATE STATE模式        419
    Overview of Finite State Automata FSM概述    419
    Implementation Techniques 實(shí)現(xiàn)技術(shù)    421
    Nested Switch/Case Statement嵌套switch/case語(yǔ)句          421
    Interpreting Transition Tables 解釋遷移表        424
    The STATE Pattern STATE模式426
    SMC T11c State-Machine Compiler狀態(tài)機(jī)編譯器429
    Where Should State Machines be Used?狀態(tài)機(jī)的應(yīng)用場(chǎng)合    432
    High-Level Application Policies for GUIs GUI高層應(yīng)用策略    432
    GUI Interaction Controllers GUI交互控制器        433
    Distributed Processing分布式處理        433
    Conclusion結(jié)論        434
    Listings代碼清單        434
    Turnstile.Java Using Table Interpretation使用表解釋        434
    Turnstile.Java Generated by SMC.a(chǎn)nd Other Support Files
    SMC生成的Turnstile.Java以及其他支持文件          437
    Bibliography參考文獻(xiàn)    441
Chapter 30 The ETS Framework ETS框架        443
    Introduction簡(jiǎn)介        443
    Project Overview項(xiàng)目概述        443
    Early History 1993-1994早期歷史        445
    Framework?框架?        445
    Framework!框架1         446
    The 1994 Team 1994年的團(tuán)隊(duì)        446
    The Deadline最后期限        446        
    The Strategy策略        446
    Results結(jié)果        447
    Framework Design框架設(shè)計(jì)        448
    The Common Requirements of the Scoring Applications評(píng)分程序的主要需求        448
    The Design of the Scoring Framework評(píng)分框架的設(shè)計(jì)        450
    A Case for TEMPLATE METHOD應(yīng)用TEMPLATE METHOD 453
    Write a Loop Once一次只寫(xiě)一個(gè)循環(huán)        454
    The Common Requirements of the Delivery Applications考試程序的主要需求        456
    The Design of the Delivery Framework考試框架的設(shè)計(jì)        457
    The Taskmaster Architecture任務(wù)控制架構(gòu)        462
    Conclusion結(jié)論        465
    Bibliography參考文獻(xiàn)        466
AppendixA UML Notation I:The CGI Example UML圖示之一:CGI示例    467
    Course Enrollment System:Problem Description課程注冊(cè)系統(tǒng):?jiǎn)栴}描述    468
    Actors參與者        469
    UseCases用例        469
    The Domain Model領(lǐng)域模型            472
    The Architecture架構(gòu)        476
    Abstract Classes and Interfaces in Sequence Diagrams序列圖中的抽象類(lèi)和接口      485
    Summary總結(jié)        486
    Bibliography參考文獻(xiàn)        487
Appendix B UML Notation II:The STATMUX UML圖示之二:STATMUX    489
    The Statistical Multiplexor Definition統(tǒng)計(jì)多路復(fù)用器的定義    489
    The Software Environment軟件環(huán)境          490
    The Real-time Constraints實(shí)時(shí)限制          490
    The Input Interrupt Service Routine輸入中斷服務(wù)例程        491
    The Output Service Interrupt Routine輸出服務(wù)中斷的例程        495
    The Communications Protocol通信協(xié)議        496
    Conclusion結(jié)論    506
    Bibliography參考文獻(xiàn)    506
Appendix C A Satire of Two Companies雙公司記    507
    RufuS,Inc.
    Project Kickoff    507
    Rupert Industries
    Project:~Alpha~    507
AppendixD The Source Code Is the Design源代碼就是設(shè)計(jì)    517
    What Is Software Design?  什么是軟件    517
    Afterword  跋    523
Index    525

本目錄推薦

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