1.简单工厂模式:
简单工厂通过参数或者条件 返回对应抽象的实例
好处:客户端无需判断需要的实例,简化客户端负担,只需要将参数传进工厂
2.策略模式:
将对应的抽象注入进Context,然后由Context调用实例的算法(Algorithmminterface() )即可
2.1 策略模式与简单工厂模式结合使用
单一的策略模式 还是需要客户端实例化对应的策略,(当然也可以先用工厂创建)
现在可以在Context注入策略算法的时候用工厂模式得到对应的策略,客户端无需再用工厂获取实例了
总结 策略加工厂虽然简化了客户端 但是 实际上判断并没有减少 只不过把判断的职责转给了Context类 而且需求变化依然会更改 如果用反射会更好