總論 領域角色的關注 1
第一節(jié) 什么是領域角色的關注 2
第二節(jié) 基于組織視角的觀察 11
第三節(jié) 工程的本質問題是組織 25
第一篇 具體工程下的組織與行為
引言 管理中的邏輯 33
第一章 任人治事:組織行為的基本認知 35
第一節(jié) 刺秦與滅秦 36
第二節(jié) 看到別人能做什么 43
第三節(jié) 要做事,不要管理 51
第四節(jié) 伯夷與叔齊是怎么死的 59
第二章 謀定后動:項目的存在權 67
第一節(jié) 試錯通常是無能的托辭 68
第二節(jié) 合法的山大王為什么沒能成功 78
第三節(jié) 自己想辦法 86
第三章 具體而微:工程是系統(tǒng)而不是事 93
第一節(jié) 做事的選擇 94
第二節(jié) 你要什么 102
附錄一 行在道上,從局部到全局 109
附錄二 本來面目——大教堂、集市,與作坊 111
附錄三 殺不死的人狼——我讀《人月神話》 113
第二篇 程序源流:從計算到系統(tǒng)(上)
引言 簡單的本源 117
第四章 計算系統(tǒng) 119
第一節(jié) 數,以及對數據的性質的思考 120
第二節(jié) 邏輯 126
第三節(jié) 抽象 129
第五章 語言及其面臨的系統(tǒng) 133
第一節(jié) 語言 134
第二節(jié) 從功能到系統(tǒng) 141
第六章 程序設計的核心思想 151
第一節(jié) 數據結構:順序存儲 153
第二節(jié) 數據結構:散列存儲 160
第三節(jié) 執(zhí)行體及其執(zhí)行過程中的環(huán)境 167
第四節(jié) 語法樹及其執(zhí)行過程 174
第五節(jié) 對象系統(tǒng):表達、使用與模式 181
第三篇 程序源流:從計算到系統(tǒng)(下)
第七章 應用開發(fā)基礎 199
第一節(jié) 應用開發(fā)的背景與成因 200
第二節(jié) 應用開發(fā)技術 207
第三節(jié) 開發(fā)視角下的工程問題 216
第四節(jié) 應用程序設計語言的復雜性 223
第八章 系統(tǒng)的基礎部件 231
第一節(jié) 分布 232
第二節(jié) 依賴 241
第三節(jié) 消息 245
第四節(jié) 系統(tǒng) 250
第九章 系統(tǒng)的基本組織方法與原理 253
第一節(jié) 行為的組織及其抽象 254
第二節(jié) 領域間的組織 257
附錄一 “主要編程范式”及其語言特性關系 273
附錄二 繼承與混合,略談系統(tǒng)的構建方式 275
附錄三 像大師們一樣思考——從“UML何時死掉”談起 277
附錄四 VCL已死,RAD已死 279
第四篇 架構的思想與指導原則
引言 架構師的思維 285
第十章 你所關注的系統(tǒng) 287
第一節(jié) 了解系統(tǒng)的過程 288
第二節(jié) 知識的構建 295
第三節(jié) 最初的事實 307
第十一章 架構是過程,而非結果 315
第一節(jié) 架構師的能力結構 316
第二節(jié) 系統(tǒng)架構與決策 324
第三節(jié) 架構的表達與邏輯 338
第十二章 架構原則,技藝、藝術與美 355
第一節(jié) 架構原則 356
第二節(jié) 技藝、藝術與美 368
附錄一 做人、做事,做架構師——架構師能力模型解析 373
附錄二 專訪:談企業(yè)軟件架構設計(節(jié)選) 375
參考資料 377
圖表索引 382