目 錄
第1部分 面向對象基礎
第1章 面向對象概述
1.1 程序設計思想的發(fā)展
1.2 面向對象語言的發(fā)展歷史
1.3 面向過程
1.4 面向對象
1.5 為什么要面向對象
1.6 面向對象的應用范圍
1.7 面向對象的迷思
1.7.1 面向對象會導致性能降低?
1.7.2 面向對象語言=面向對象編程?
1.8 小結
第2章 面向對象理論
2.1 類
2.2 對象
2.3 接口
2.4 抽象類
2.5 抽象
2.6 三大核心特征
2.6.1 封裝
2.6.2 繼承
2.6.3 多態(tài)
2.7 小結
第2部分 面向對象方法
第3章 面向對象分析和設計全流程概述
第4章 需求模型
4.1 需求詳解
4.2 需求的重要性
4.3 需求分析
4.3.1 需求分析的目的
4.3.2 需求分析的方法
4.4 用例方法
4.4.1 用例的具體寫法
4.4.2 要畫圖嗎
4.5 功能
4.6 用例圖的陷阱
4.7 SSD
4.8 常見問題解答
4.9 小結
第5章 領域模型
5.1 領域建模三字經
5.2 找名詞
5.3 加屬性
5.4 連關系
5.5 常見問題解答
5.6 小結
第6章 設計模型
6.1 設計模型總覽
6.2 類模型
6.2.1 第一步(照貓畫虎):領域類映射
6.2.2 第二步(精雕細琢):應用設計原則和設計模式
6.2.3 第三步(照本宣科):拆分輔助類
6.3 動態(tài)模型
6.3.1 模型分類
6.3.2 建模實踐
6.3.3 建模技巧
6.4 小結
第7章 實現(xiàn)模型
7.1 編程語言的差異性
7.2 C++
7.2.1 類
7.2.2 訪問控制
7.2.3 繼承
7.2.4 多態(tài)
7.2.5 抽象類
7.2.6 接口
7.3 Java
7.3.1 類
7.3.2 訪問控制
7.3.3 繼承
7.3.4 多態(tài)
7.3.5 抽象類
7.3.6 接口
7.4 小結
第3部分 面向對象技巧
第8章 設計原則
8.1 內聚
8.1.1 內聚究竟是什么
8.1.2 內聚的分類
8.2 耦合
8.2.1 耦合究竟是什么
8.2.2 耦合的分類
8.3 高內聚低耦合
8.4 類設計原則
8.4.1 SRP
8.4.2 OCP
8.4.3 LSP
8.4.4 ISP
8.4.5 DIP
8.4.6 如何應用設計原則
8.4.7 NOP
8.5 小結
第9章 設計模式
9.1 設計模式簡介
9.2 設計模式只是一把錘子
9.3 設計模式之道
9.3.1 知易行難―設計模式應用的問題
9.3.2 撥云見日―尋找設計模式之道
9.3.3 庖丁解牛―解析設計模式之道
9.3.4 舉一反三―活學活用設計模式之道
9.4 原則vs模式
9.5 模式詳解
9.5.1 Prototype模式
9.5.2 Decorator模式
9.5.3 Facade模式
9.5.4 Observer模式
9.6 小結
第10章 UML
10.1 UML簡介
10.2 UML只是語言
10.3 UML應用
10.4 需求分析階段
10.4.1 用例圖
10.4.2 用例圖的關系
10.5 設計階段
10.5.1 類圖
10.5.2 類關系圖
10.5.3 動態(tài)圖
10.5.4 結構圖
10.6 部署階段
10.7 小結
第4部分 面向對象實戰(zhàn)
第11章 實戰(zhàn)案例:朋友圈“踩”
11.1 需求模型
11.1.1 5W分析
11.1.2 1H分析
11.1.3 8C分析
11.1.4 功能列表
11.2 領域模型
11.2.1 找名詞
11.2.2 加屬性
11.2.3 連關系
11.3 設計模型
11.3.1 系統(tǒng)設計
11.3.2 詳細設計
11.4 代碼模型
11.5 小結
第12章 實戰(zhàn)案例:ZooKeeper源碼分析
12.1 ZooKeeper介紹
12.2 需求模型
12.3 領域模型
12.4 設計模型
12.5 代碼模型
12.6 小結