第三章总结
一、设计模式定义及分类:


二、常见设计模式
工厂模式、单例模式(略)
模板方法模式
通过“继承”的方法来实现扩展
基类负责算法的轮廓和骨架
子类负责算法的具体实现
基于“继承”的模板方法比“组合”更容易实现,再很多情况下,可以适当使用这种模式
适用场景:
重构系统时,将一个大方法打破,变成多个扩展的步骤。
将 if/else 或 switch 语句改换成多态性
策略模式
通过“组合”的方法来实现扩展
适用场景
系统需要在多种方法中选择一种
重构系统时,
将条件语句转换成对于策略的多态性调用
组合模式
是一种“对象的结构模式”
装饰器模式
是一种“对象的结构模式”
在不改变对客户端的接口的前提下(对客户端透明),扩展现有对象的功能

装饰器的应用:

评论