设计模式-简单工厂和策略模式

1.简单工厂模式:

简单工厂通过参数或者条件  返回对应抽象的实例   

好处:客户端无需判断需要的实例,简化客户端负担,只需要将参数传进工厂  

2.策略模式:

将对应的抽象注入进Context,然后由Context调用实例的算法(Algorithmminterface() )即可

2.1  策略模式与简单工厂模式结合使用

 单一的策略模式 还是需要客户端实例化对应的策略,(当然也可以先用工厂创建)

现在可以在Context注入策略算法的时候用工厂模式得到对应的策略,客户端无需再用工厂获取实例了

 总结  策略加工厂虽然简化了客户端  但是 实际上判断并没有减少  只不过把判断的职责转给了Context类   而且需求变化依然会更改   如果用反射会更好

原文地址:https://www.cnblogs.com/liagon/p/14267437.html