设计模式的某一个模式,是用来解决某一种特定情况下,简单的逻辑会导致代码复杂甚至冗余。如果程序的某个方法,存在有好几种并行的处理手段。那么我们最好是采用if...else if...或switch...case... 但,如果这些处理手段复杂度高,使用范围不小----通常是算法。采用策略模式方法,会在灵活性,耦合度,代码维护难度,算法保护等方面具有优势。
策略模式是用方法的重写带替代不同名字的方法,利用面向对象的特征,使增加或减小可选择的算法时,直接传入不同的子类来进行算法选择。
先看看if...else if... 和 switch...case...
if...else if... 优势:可以进行不同类型的判断来选择进行哪种操作。
switch...case... 优势:使用单一的判断要素,快速选择到进行哪种操作
在if...else if...