第1章商業思維:從商業模式到架構設計 1
1.1 A段架構師的角色 1
1.2 麵對復雜,唯有簡單 2
1.3 商業環境與模式是復雜的 3
1.4 軟件的復雜是本質性的(並非錶象而已) 5
1.5 如何從復雜中設計齣簡單 7
1.5.1 單純與美麗的密切聯係 7
1.5.2 軟件美何在,把酒問<對稱> 7
1.5.3 軟件架構的第1種對稱性 8
1.5.4 軟件架構的第2種對稱性 8
1.6 參考文獻 9
第2章軟硬整閤商業模式範例 10
2.1 復習:A段架構設計 10
2.2 産品設計支持商業模式 11
2.2.1 反思既有的商業模式 12
2.2.2 創立新型商業模式 12
2.3 商業模式範例 13
2.3.1 長期的獲利策略 13
2.3.2 短期的獲利策略 14
2.3.3 硬硬結閤銷售 14
2.3.4 軟硬整閤開發 16
2.4 産品設計範例 17
2.5 延伸到客廳配件市場 18
2.5.1 客廳配件範例 18
2.5.2 客廳配件的商業模式 19
2.5.3 與微信、微博或百度地圖等平颱對接 20
2.6 産品的架構設計範例 21
2.6.1 基本元素和功能 21
2.6.2 應用情境(舉例) 22
2.6.3 架構設計與實踐 23
2.7 參考文獻 23
第3章獲利思維與心境 24
3.1 獲利思維VS.成本思維 24
3.2 讓架構師身價百倍的招式 26
3.3 領悟信用卡VISA商業模式 27
3.4 以農夫挑水澆花為例 28
3.5 設計客廳配件産品的商業(閤作)模式 31
3.5.1 復習:客廳配件的商業模式 31
3.5.2 一樣的心境 32
3.5.3 創立OFA聯盟 33
3.6 參考文獻 34
第4章創新思維 35
4.1 溯因推理與創造性 35
4.2 溯因推理基本觀念 36
4.3 <假定-否證>= 刪除法 39
4.4 孔明的溯因推理範例 41
4.5 麥肯锡的MECE原則 45
4.5.1 認識MECE原則 45
4.5.2 議題樹及其種類 46
4.5.3 持續對議題進行分解和檢驗 47
4.5.4 符閤MECE原則 47
4.5.5 持續進行<檢驗-否證> 48
4.5.6 展開下一階層的議題 49
4.5.7 MECE範例 51
4.6 軟件敏捷(Agile)開發原則 54
4.6.1 認識敏捷開發原則 54
4.6.2 敏捷幕後的溯因推理 55
4.6.3 A段架構師的敏捷力 57
4.7 敏捷設計:應用於智慧城市頂層設計 58
4.7.1 <頂層設計>含義的迷思 58
4.7.2 創新的起點:願景(Vision) 59
4.7.3 觀察現實,提齣假定(Hypothesis) 60
4.7.4 結論:提齣<敏捷頂層設計方法> 61
4.7.5 應用:敏捷頂層設計步驟說明 62
4.8 創新設計:<發現EIT造形>之旅 62
4.8.1 什麼是代碼造形? 62
4.8.2 大傢熟悉的兩種代碼造形:函數和類 63
4.8.3 創新的起點:願景(Vision) 64
4.8.4 提齣假定 65
4.8.5 提齣新的假定 65
4.8.6 結論:提齣EIT代碼造形 66
4.8.7 為什麼需要有兩個配角 68
4.9 參考文獻 69
第5章組閤思維 70
5.1 從古典抽象思維談起 70
5.2 創新組閤思維 72
5.2.1 <閤>的設計法則 72
5.2.2 序中有亂:以集裝箱為例 73
5.2.3 演練:如何抽象齣<集裝箱> 74
5.2.4 觀摩:軟件集裝箱 75
5.3 組閤設計的要素:造形(Form) 77
5.3.1 從集裝箱認識“造形” 77
5.3.2 認識EIT軟件造形 78
5.3.3 造形的特性 81
5.3.4 造形的內部元素 81
5.3.5 造形的外部組閤規律 82
5.4 演練範例:尋找(設計)軟件係統的造形 85
5.5 演練範例:從簡單造形組閤齣復雜 90
5.5.1 範例(一):一對EIT造形包容善變的通信協議 90
5.5.2 範例(二):EIT造形的巢狀組閤 93
5.5.3 範例(三):從EIT造形組閤齣GoF設計模式 95
5.6 反思:儒傢文化中的創新組閤思維 99
5.6.1 分解的盡理之精神 99
5.6.2 中學為體,西學為用 99
5.7 設計齣未來性 103
5.7.1 今日決策的未來性 103
5.7.2 願景與連綫 104
5.7.3 願景從哪裏來 105
5.7.4 組閤與創新 105
5.7.5 演練:未來性架構設計 107
5.8 參考文獻 113
第6章戰術引導戰略思維 114
6.1 架構師擅長於戰術引導戰略 114
6.2 會贏的戰術 116
6.3 找會贏的戰術,調整戰略資源 117
6.4 <戰術引導戰略>的企業案例 118
6.5 參考文獻 121
第7章四項假設性思維 122
7.1 從溯因推理談起 122
7.2 假設(Assumption)是什麼 125
7.3 第一項:不自覺的假設,放寬思維局限 125
7.3.1 一般範例 125
7.3.2 孔明空城計的範例 126
7.3.3 其他範例 127
7.4 第二項:有待被檢驗的假定,激發願景想象 129
7.5 第三項:完成性的假設,想象最終結果 131
7.5.1 什麼是完成性假設 131
7.5.2 Mapping from vision to reality與溯因推理 133
7.5.3 “Mapping”如何促進Know Unknown 135
7.5.4 演練:Mapping from vision to reality 137
7.5.5 演練:全腦觀想(Visualization) 139
7.5.6 演練:完成性假設 140
7.6 第四項:萬一性的假設,預留彈性空間 148
7.6.1 Why?萬一性的假設 148
7.6.2 如何預見失敗 149
7.6.3 認識Possibility和備胎思維 151
7.7 參考文獻 152
第8章架構師策略思維的案例演練 153
8.1 産品策略思維 153
8.1.1 産品策略目標:兼顧獨特性、普遍性和可靠性 153
8.1.2 實踐方案:軟硬整閤、跨平颱與測試 154
8.1.3 從簡單中掌握復雜 155
8.1.4 對假定進行檢驗 157
8.2 發揮四項假設性思維 158
8.2.1 復習:溯因(Abductive)推理 158
8.2.2 觀察現實,觀想願景 159
8.2.3 推導齣假定 160
8.2.4 進行Mapping from vision to reality 161
8.2.5 重大發現 163
8.2.6 決定跨平颱策略的方嚮 165
8.3 訂定跨平颱實踐策略 165
8.3.1 復習:探索策略方嚮 165
8.3.2 擬訂實踐策略 165
8.3.3 策略-1:把它“EIT(設計)”瞭 166
8.3.4 策略-2:挾天子以令諸侯 167
8.3.5 策略-3:建立中間件(middleware) 167
8.4 跨芯片小平颱策略 167
8.4.1 什麼是<跨平颱> 167
8.4.2 終端産品跨(芯片)小平颱的3種情境 169
8.5 跨Android大平颱策略 174
8.5.1 這個<策略-2>從哪裏來 174
8.5.2 策略-2的實踐 176
8.6 跨自己平颱的策略 180
8.6.1 這個<策略-3>從哪裏來 180
8.6.2 中間件跨平颱的效益:沒錢就改版,改版就有錢 182
8.6.3 中間件跨客戶端的效益 183
8.6.4 中間件的設計 183
8.6.5 中間件在整體架構中的角色 185
8.7 參考文獻 186
第9章架構設計的十個學習步驟 187
9.1 這<十個步驟>從哪裏來 187
9.1.1 從架構思維的4個元素齣發 187
9.1.2 學好<創意愛上限製> 188
9.1.3 學好<創新組閤> 190
9.1.4 學習敏捷測試和設計通用性接口 191
9.2 闡述<十個學習步驟> 192
9.2.1 第1步:學習兩種抽象視角(Abstraction View) 192
9.2.2 第2步:關心下層的變動自由度 193
9.2.3 第3步:<係統架構控製力>支撐<商業競爭話語權> 193
9.2.4 第4步:<用戶體驗>是用戶從簡單中叫齣復雜的滿足感 194
9.2.5 第5步:創意愛上限製,即需求檢驗設計 194
9.2.6 第6步:假設性思維和Mapping from vision to reality 195
9.2.7 第7步:清晰而明確錶述接口(Interface) 195
9.2.8 第8步:盡快對接口進行檢驗和測試 195
9.2.9 第9步:設計通用性接口 196
9.2.10 第10步:有效減法設計,纔能開放加法(設計) 197
9.3 深入領悟(一):變動自由度 197
9.4 深入領悟(二):創意愛上限製 200
9.5 深入領悟(三):Mapping from vision to reality 201
9.6 深入領悟(四):迅速檢測接口 204
9.7 深入領悟(五):有效減法設計,纔能開放加法 208
9.7.1 舉例:以Socket接口來包容TCP/IP通信協議 208
9.7.2 演練步驟 208
9.8 參考文獻 218
第10章<Java/HBase + C>雲平颱架構設計的十項法則 219
10.1 這<十項法則>從哪裏來 219
10.1.1 反思假設 219
10.1.2 關注於命令流及其控製點 221
10.2 闡述<十項法則> 222
10.3 思考議題&提示 227
10.4 參考文獻 232
第11章法則-2的實踐範例:通用性接口設計 233
11.1 通用性接口 233
11.2 親自設計通用性接口 235
11.2.1 認識用例(Use Case)及其劇景(Scenario) 235
11.2.2 設計通用性接口來支撐用例(Use Case) 238
11.2.3 銜接到<UC-001:播放音樂>的特殊性接口 239
11.2.4 銜接到<UC-002:播放某首音樂>的特殊性接口 243
11.3 多個通用性接口的聯閤應用範例 247
11.3.1 應用範例:手機與Android TV的多機整閤 247
11.3.2 iPhone手機端的規劃 248
11.3.3 銜接iPhone手機端的(通用性)接口:Servlet 249
11.3.4 App的Context接口與myTVServlet對接 253
11.3.5 Android本地App的設計 259
11.4 參考文獻 264
第12章法則-3的實踐範例:挾天子以令諸侯 265
12.1 一般框架設計:以<五子棋>為例 265
12.1.1 階段一:從傳統類(Class)造形設計齣發 265
12.1.2 階段二:繼續運用EIT造形設計 268
12.2 基於Android設計小框架:以<塗鴉>應用為例 272
12.2.1 介紹多層EIT造形 272
12.2.2 簡介「塗鴉」(Scribble) 274
12.2.3 <塗鴉>範例的功能說明 274
12.3 實踐<挾天子以令諸侯> 275
12.3.1 階段一:從傳統類(Class)造形設計齣發 275
12.3.2 階段二:繼續運用EIT造形設計 276
12.4 參考文獻 308
· · · · · · (
收起)