week03 小结
什么是设计模式?
每一种设计模式都描述了一种问题的通用解决方案,这种问题在我们的环境中不停地出现。
设计模式是一种可重复使用的解决方案。
设计模式的顺口溜:建抽工单原,装造外桥享代组,责备命中策,状~,观模迭访解。
适配器一般不建议使用类的适配器模式,一般用对象的适配器。
设计模式分类:
功能上:
创建模式:对类的实例化过程的抽象
结构模式:将类或者对象结合在一起形成更大的结构
行为模式:对在不同的对象之间划分责任和算法的抽象化
方式上:
以继承的方式实现模式,静态的—类模式
以组合的方式实现模式,动态的—对象模式
复杂问题与难的问题的区别:
难的问题是能解决的
复杂的问题不好解决
重构首先是要使类单一原则,并不断简化
代理模式是要到运行期才能知道代理的哪个实现类,适配器和策略模式编译时就知道了
牛逼的人,善于发现问题,发现问题并描述问题存在。
参数校验框架:fluent_validate
简单工厂模式、单例模式、适配器模式
### 模板方法模式
模板方法模式是扩展功能的最基本模式之一
它是一种“类的行为模式”
它通过“继承”的方式来实现扩展
- 基类负责算法的轮廓和骨架
- 子类负责算法的具体实现
### 策略模式
策略模式是扩展功能的另一种最基本的模式
它是一种“对象的行为模式”
它是通过“组合”的方法来实现扩展
### 组合模式
组合模式是一种”对象的结构模式“
### 装饰器模式
装饰器模式是一种”对象的结构模式”
在不改变对客户端的接口的前提下扩展现有对象的功能
装饰器模式也被笼统地称为“包装器”(Wrapper),适配器也被称作“包装器”,区别在于适配器是转换成另一个接口,而装饰器是保持接口不变。
包装器形成一条“链”
装饰器和模板方法策略模式的比较
装饰器保持对象的功能不变,扩展器外围的功能
模板方法和策略模式则保持算法的框架不变,而扩展其内部的实现
评论