使用策略设计模式

上一节的例子其实就使用了策略(Strategy)设计模式,如果你使用继承来解决一个问题,

随着程序规模的复杂,特例越来越多,继承关系也会随之变得很复杂。

策略模式则将易变的部分抽取出来进行单独封装(上一节中的go接口),然后在你需要的时候选择使用哪些封装好的对象。

通过组合方式来定义需要的类,

通常,每一个算法被称为一个策略。


书籍推荐