策略模式是指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。
最典型的就是客户打折算法的设计,不同等级的用户打折的力度也不一样,所以需要设计多个算法,而使用策略模式可以让算法独立于各个客户群体。
这篇文章很好的解释了策略模式的使用,最重要的一点是解决了之前我学习策略模式时对于ifelse的处理的疑惑,通过注解和反射,把ifelse都可以去掉了,强烈推荐认真看一遍。