分析模式:可復用的對象模型 Analysis Patterns: Reusable Object Models

Martin Fowler 鍾敬譯

  • 分析模式:可復用的對象模型-preview-1
  • 分析模式:可復用的對象模型-preview-2
分析模式:可復用的對象模型-preview-1

買這商品的人也買了...

商品描述

要開發復雜的企業應用,先要為業務領域建立準確而深刻的分析模型。
本書不是通過簡化的案例講述抽象的理論,而是直接給出來自真實項目的復雜模型,並以“模式”的方式進行歸納。
本書不僅包括這些模式本身,還體現了作者豐富的實踐經驗和對建模技術的深入洞見。
本書主要包括兩部分:
第一部分介紹來自人員與組織管理、觀察與測量、存貨與會計、計劃、金融衍生品交易等多個業務領域的“分析模式”;
第二部分則給出一系列“支持模式”,用於將分析模型實現為具體的軟件。

具有一定經驗的架構師、業務分析師以及高級開發人員通過研讀本書可以很快將書中的模式和思路應用於實踐,有效提高開發水平。
軟件開發的入門者閱讀本書盡管未必能立刻領悟其全部內涵,
但也足以打開一扇通向新境界的窗戶,為日後的提高奠定基礎。

作者簡介

Martin Fowler

世界軟件開發大師,ThoughtWorks首席科學家。
他是一位作家、演說者、諮詢師和泛軟件開發領域的意見領袖。
他致力於改善企業級的軟件設計,對優秀的設計以及支撐優秀設計的工程實踐孜孜以求。
他在重構、面向對象分析設計、模式、XP和UML等領域都有卓越貢獻,
著有《重構:改善既有代碼的設計》《分析模式:可複用的對像模型》《領域特定語言》《企業應用架構模式》等經典著作。

目錄大綱

目錄
第1章緒論1
1.1概念模型1
1.2模式的世界4
1.3本書中的模式7
1.4概念模型與業務過程再造9
1.5模式和框架9
1.6模式的使用10
參考文獻12

第一部分分析模式
第2章責任15
2.1參與方(Party)模式16
2.2組織層級(Organization Hierarchies)模式17
2.3組織結構(Organization Structure)模式18
2.4責任( Accountability)模式20
2.5責任知識層(Accountability Knowledge Level)模式21
2.6參與方類型泛化(Party Type Generalizations)模式23
2.7分層責任(Hierarchic Accountability)模式24
2.8運作範圍( Operating Scopes)模式26
2.9崗位(Post)模式27
參考文獻28

第3章觀察和測量29
3.1數量(Quantity)模式30
3.2換算率(Conversion Ratio)模式31
3.3複合單位( Compound Units)模式32
3.4測量(Measurement)模式34
3.5觀察(Observation)模式35
3.6子類型化觀察概念(Subtyping Observation Concepts)模式38
3.7規程(Protocol)模式38
3.8雙重時間記錄(Dual Time Record)模式39
3.9被否決觀察(Rejected Observation)模式40
3.10有效觀察、假定和推測(Active Observation, Hypothesis, and Projection)模式40
3.11關聯觀察(Associated Observation)模式41
3. 12觀察過程(Process of Observation)模式42
參考文獻45

第4章在企業財務領域使用觀察模式46
4.1企業片段(Enterprise Segment)模式47
4.2測量規程(Measurement Protocol)模式53
4.3範圍(Range)模式61
4.4有範圍現象(Phenomenon with Range)模式62
4.5使用結果框架(Using the Resulting Framework)模式66
參考文獻67

第5章引用對象68
5.1名稱(Name)模式69
5.2標識方案(Identification Scheme)模式70
5.3對象合併(Object Merge)模式72
5.4對像等價關係(Object Equivalence)模式74
參考文獻75

第6章存貨和會計76
6.1賬戶( Account)模式78
6.2會計事項(Transactions)模式79
6.3匯總賬戶(Summary Account)模式81
6.4備忘賬戶(Memo Account)模式83
6.5過賬規則(Posting Rules)模式84
6. 6單實例方法(Individual Instance Method)模式85
6.7過賬規則執行(Posting Rule Execution)模式90
6.8多賬戶過賬規則(Posting Rules for Many Accounts)模式94
6.9選擇分錄(Choosing Entries)模式96
6.10會計實務(Accounting Practice)模式97
6.11分錄來源(Sources of an Entry)模式99
6.12資產負債表和損益表(Balance Sheet and Income Statement)模式99
6.13對應賬戶(Corresponding Account)模式100
6.14特化賬戶模型(Specialized Account Model)模式101
6.15將分錄記錄到多個賬戶(Booking Entries to Multiple Accounts)模式103
擴展閱讀106
參考文獻107

第7章使用會計模型108
7.1結構模型109
7.2實現該結構111
7.3新建電話服務113
7.4建立通話115
7.5實現基於賬戶的觸發116
7.6劃分日間和夜間通話117
7.7按時間收費119
7 .8計稅122
7.9結論和思考123
參考文獻127

第8章計劃128
8.1提議活動和已實施活動(Proposed and Implemented Action)模式129
8.2已完成活動和已放棄活動(Completed and Abandoned Actions)模式130
8.3暫停(Suspension)模式131
8.4計劃(Plan)模式132
8.5規程(Protocol)模式134
8.6資源分配(Resource Allocation)模式137
8.7結果函數和啟動函數(Outcome and Start Functions)模式140
參考文獻142

第9章交易143
9.1合同(Contract)模式143
9.2組合(Portfolio)模式147
9.3報價(Quote)模式150
9.4場景(Scenario)模式153
參考文獻160

第10章衍生合同161
10.1遠期合同(Forward Contracts)模式162
10.2期權(Options)模式163
10.3產品(Product)模式168
10.4子類型狀態機(Subtype State Machines)模式172
10.5並列的應用和領域層級結構(Parallel Application and Domain Hierarchies)模式177
參考文獻182

第11章交易包183
11.1包的多重訪問級別(Multiple Access Levels to a Package)模式183
11.2相互可見性( Mutual Visibility)模式186
11.3包的子類型化(Subtyping Packages)模式189
11.4結論和思考190
參考文獻190

第二部分支持模式
第12章信息系統分層架構193
12.1兩層架構(Two-Tier Architecture)模式194
12.2三層架構(Three-Tier Architecture)模式195
12.3展示層和應用邏輯層(Presentation and Application Logic)模式198
12.4數據庫交互(Database Interaction)模式203
12.5結論和思考206
參考文獻206

第13章應用門面208
13.1一個醫療衛生領域的例子208
13.2門面的內容209
13.3通用方法213
13.4操作213
13.5類型轉換214
13.6多個門面216
參考文獻217

第14章類型模型設計模板模式218
14.1實現關聯(Implementing Associations)模式220
14.2實現泛化(Implementing Generalization)模式226
14. 3對象創建(Object Creation)模式232
14.4對象銷毀(Object Destruction)模式233
14.5入口點(Entry Point)模式234
14.6實現約束(Implementing Constraints)模式236
14.7其他技術的設計模板237
參考文獻238

第15章關聯模式239
15.1關聯類型(Associative Type)模式240
15.2鍵控映射(Keyed Mapping)模式242
15.3歷史映射(Historic Mapping)模式243
參考文獻247

第16章後記248
參考文獻249
附錄A技術和表示法250
A.1類型圖250
A.2交互圖259
A.3事件圖260
A.4狀態圖261
A.5包圖262
參考文獻263
附錄B模式一覽表265