## 背景

- 策略模式：多种子类策略实现类代替新的if分支
- 模板方法：子类整合一系列的接口实现方法，替代某一类型的if-else
- 装饰器：增加新的子类装饰器链，替代新的if-else 增强方法
- 工厂方法：不同的工厂方法，生产不同的实例，替代if-else

## 缺点

设计模式充分利用多态，实现上通过继承和组合，会额外创建很多类对象，类与类，模块之间关系更为复杂！容易出现过度设计，矫枉过正。

