12.6 总结 封装变化是行为模式的一个重要主题:把独立变化的部分抽象出来,使得不变的部分不受变化的那部分影响,这样非常便于测试和调式。在策略模式,变化的那方面是策略,不变的是Context。 从上例可以看到,并不是所有的模式拿过来使用都能解决当前的问题。我们之前使用的模板方法模式,并不能解决后来面临的复杂问题,于是选择了策略模式,这并不意味着模板方法模式比策略模式好,只是在此场景使用策略模式会更好地帮助我们解决问题。 其实模式本身没有错,错就错在我们没在正确的场合合理地使用它们。