23种设计模式分为九类
1.组件协作
2.单一职责
3.对象创建
4.对象性能
5.接口隔离
6.状态变化
7.数据结构
8.行为变化
9.领域问题
什么时候、什么地点用设计模式
才是最重要的。
关键的重构技法:
静态-----动态
早绑定—晚绑定
继承-----组合
编译时依赖------运行时依赖
紧耦合----松耦合
组件协作:通过晚期绑定,实现松耦合
(就是用于协作)
典型模式:
- 模板方法template method(用早的库调用晚的应用,稳定中可以存在变化,稳定的写成非虚就行,必须要有稳定的东西,不然没有意义)
库开发人员要开发135三个步骤,
应用开发人要开发24两个步骤。还写了主流程。
vs
库开发人员要开发135三个步骤, 和主流程
引用开发人开发24两个步骤
library肯定是早,application是晚。
晚绑定的机制就是:库调用应用(早的调用晚的)
把稳定的东西,定义一些虚函数,让子类写。
模板方法就是可以让子类复用算法结构,也可以重新定义。
为什么这是第一个设计模式
因为这个用的最广泛的,基础。
这就是面向对象,以前就在用,只不过不知道他叫template method。就是稳定的不被不稳定的调用。
- 策略模式
- 事件模式