1. 什么是设计模式
“每一个模式描述了一个在我们周围不断重复发生的问题以及该问题的解决方案的核心”。这样,你就能一次一次地使用这个方案而不必重复劳动,即重复创造轮子。
2. 从面向对象谈起
- 底层思维:向下,如何把握机器底层,从微观理解对象构造。
语言构造
编译转换
内存模型
运行时机制
- 抽象
[图片上传中...(image.png-876aed-1695919907744-0)]
3 深入理解面向对象
向下:深入理解三大面向对象机制
- 封装, 隐藏内部实现
- 继承,复用现有代码
- 多态,改写对象行为
向上:理解如何使用这些机制表达现实意义
4 软件设计复杂的原因
变化
- 客户需求的变化
- 技术平台的变化
- 开发团队的变化
- 市场环境的变化
……
5 如何解决复杂性
- 分解
分而治之 大问题分解成小问题 复杂的问题分解成多个简单的问题 - 抽象
更高层次来讲,处理复杂行的通用技术。即抽象,忽略非本质细节,而去处理泛化和理想化了的对象模型。
6 什么是好的软件设计
复用!