內容簡介
我們總是喜歡借鑑別人的架構實踐,參考別人的架構圖,但體會過的人都知道,由於各家公司的行業背景、發展情況、人力資源都不同,所以真正意義上的架構借鑑難度很大。 《聊聊架構》希望揭開事物的外在“表皮”,再現架構深層之理,向讀者揭示最本質的架構之道。
目錄······
第一部分 認識架構
第 1 章 生命周期
1.1 生命周期的識別
1.2 核心與非核心生命周期
1.3 生命周期與分工
第 2 章 時間
第 3 章 為什麼會產生架構
3.1 分工
3.2 分工和生命周期
第 4 章 什麼是架構
4.1 架構產生的條件
4.2 什麼是架構
4.3 架構的生命周期
第 5 章 架構和樹
5.1 樹與增長
5.2 架構和樹
第 6 章 概念
6.1 何為名相
6.2 究竟什麼才是相
6.3 概念是溝通的基礎
6.4 把握概念的力量
第 7 章 什麼是抽象
7.1 個性與共性
7.2 個性是基礎
第 8 章 識別問題
8.1 面對問題有哪些困難
8.2 如何識別問題
8.3 尋找問題主體
第 9 章 切分的原則
9.1 切分就是利益的調整
9.2 為什麼需要切分
9.3 切分的原則
9.4 樹和分層
9.5 切分與建模
9.6 切分的輸出和組織架構
第 10 章 架構與流程
10.1 什麼是流程
10.2 流程和架構拆分的關係
第 11 章 什麼是架構師
11.1 架構師做什麼
11.2 架構師也是人
11.3 人人都是架構師
11.4 架構師和權利
第二部分 軟體架構
第 12 章 什麼是軟體
12.1 以模擬人為目標的馮諾依曼結構和圖靈機
12.2 成本為王
12.3 天空才是極限
12.4 軟體的作用
第 13 章 軟體的生命周期
13.1 軟體的開發生命周期
13.2 軟體開發的增長
13.3 軟體開發的疊代
13.4 軟體的運行生命周期
第 14 章 什麼是軟體架構
14.1 要解決什麼問題
14.2 分別是誰的問題呢
14.3 分別有什麼問題
14.4 分析問題
14.5 會生成哪些架構
14.6 什麼是軟體架構
第 15 章 什麼是軟體架構師
15.1 軟體架構師的區別
15.2 軟體架構師的困境
15.3 生命周期的思考
15.4 軟體架構師的權力
15.5 軟體架構師和技術人員對技術的態度區別
15.6 架構師是技術的使用者
15.7 如何保障架構落地
第 16 章 業務、架構和技術三者的關係
16.1 什麼是技術
16.2 業務和架構及技術之間的關係
16.3 技術人員和業務人員的關係
16.4 重新發明輪子
16.5 開源技術
第 17 章 軟體研發
17.1 軟體工程師的興起和使命
17.2 分工的困境
17.3 軟體的疊代
17.4 軟體開發的分工
17.5 軟體開發模式和架構
17.6 軟體工程師的支持者
第 18 章 軟體的架構拆分
18.1 軟體拆分的原動力
18.2 軟體開發團隊的拆分
18.3 軟體的拆分
18.4 軟體開發的基礎技術
18.5 軟體拆分的第二動力
18.6 架構一步到位
第 19 章 如何寫好代碼
19.1 什麼叫業務邏輯
19.2 業務邏輯分散的危害
19.3 業務邏輯內聚的好處
19.4 代碼架構實例
19.5 代碼誤解
19.6 軟體的拆分
第 20 章 單元測試
20.1 什麼是單元測試
20.2 單元測試的困境
20.3 單元測試測什麼
20.4 如何改造代碼
20.5 為什麼要做單元測試
20.6 如何做單元測試
第 21 章 軟體架構和面向對象
21.1 什麼是面向過程
21.2 什麼是面向對象
21.3 生命周期和面向對象及面向過程
21.4 架構和面向對象及面向過程
21.5 面向對象的誤區
21.6 對象和生命
第 22 章 軟體架構與設計模式
22.1 模式以及模式的意義
22.2 什麼是設計模式
22.3 軟體設計模式
22.4 設計模式和架構
22.5 設計模式的誤區
第 23 章 軟體架構和軟體框架
23.1 訪問類框架
23.2 業務類框架
23.3 什麼是框架
23.4 框架的特點
第 24 章 軟體運維
24.1 軟體運行生命周期
24.2 什麼是軟體運維
24.3 運維的業務模型
24.4 控制變化
24.5 監控變更
24.6 預警變更
24.7 主導變更
24.8 提升變更質量
24.9 運維的架構拆分
第 25 章 軟體訪問生命周期
25.1 軟體訪問的業務模型
25.2 軟體訪問路徑的架構拆分
25.3 大規模軟體訪問的架構拆分
25.4 集群
25.5 數據中心
第 26 章 軟體架構和大數據
26.1 什麼是大數據
26.2 如何做好大數據
26.3 軟體大數據
第 27 章 軟體架構和建築架構
27.1 軟體架構和建築架構的目標之異同
27.2 軟體和建築的架構擴展之異同
第三部分 軟體架構的套用
第 28 章 交易
28.1 什麼是交易
28.2 貨幣的出現
28.3 企業的實質
28.4 軟體對交易的影響
28.5 軟體的交易
28.6 企業的核心
第 29 章 產品
29.1 什麼是產品
29.2 什麼是商品
29.3 識別產品
29.4 產品系統
29.5 產品列表
29.6 產品詳情
29.7 商品的規則
第 30 章 用戶
30.1 什麼是用戶
30.2 為什麼需要用戶
30.3 客戶的出現
30.4 用戶的生命周期
30.5 用戶的識別
第 31 章 訂單
31.1 什麼是訂單
31.2 訂單的生命周期架構拆分
31.3 訂單支付
31.4 訂單生命周期
第 32 章 交易系統
32.1 企業的架構拆分
32.2 軟體系統的建模
32.3 訪問業務模型
32.4 交易軟體系統的架構拆分
32.5 服務的產生和粒度
32.6 用戶系統的拆分
第 33 章 事務
33.1 什麼是事務
33.2 軟體中的事務
33.3 資料庫事務的濫用
33.4 資料庫的正確使用方式
33.5 服務調用