Strategy
顾名思义:在处理同一件事情上有了不同的处理方式,即策略,在过程化编程的模式中遇到这种情况一般使用if else 或者 switch case 解决即可,但是违背开闭原则。
在HeadFirst 设计模式中有提到过将容易变化的部分提取出来封装到一起,使用策略模式可以达到运行时动态的改变其行为.
strategy 属于行为模式,在对应不同的业务数据,选择不同的策略类来处理数据,核心类为context,在context中选择不同是策略,具体选择过程可以使用多种解决方案,可以选择通过构造方法初始化,通过反射等等。