目 录
第1部分 面向对象基础
第1章 面向对象概述
1.1 程序设计思想的发展
1.2 面向对象语言的发展历史
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 多态
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 动态模型
6.3.1 模型分类
6.3.2 建模实践
6.3.3 建模技巧
6.4 小结
第7章 实现模型
7.1 编程语言的差异性
7.2 C++
7.2.1 类
7.2.2 访问控制
7.2.3 继承
7.2.4 多态
7.2.5 抽象类
7.2.6 接口
7.3 Java
7.3.1 类
7.3.2 访问控制
7.3.3 继承
7.3.4 多态
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 动态图
10.5.4 结构图
10.6 部署阶段
10.7 小结
第4部分 面向对象实战
第11章 实战案例:朋友圈“踩”
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 系统设计
11.3.2 详细设计
11.4 代码模型
11.5 小结
第12章 实战案例:ZooKeeper源码分析
12.1 ZooKeeper介绍
12.2 需求模型
12.3 领域模型
12.4 设计模型
12.5 代码模型
12.6 小结