简单工厂模式VS策略模式

简单工厂模式VS策略模式

今天复习设计模式,由于简单工厂模式和策略模式太像了,重新整理梳理一下
简单工厂模式MUL图:
简单工厂模式VS策略模式_第1张图片

策略模式UML图:
简单工厂模式VS策略模式_第2张图片
1、简单工厂模式中只管创建实例,具体怎么使用工厂实例由调用方决定,他只负责创建具体对象;

2、策略模式是将生成实例的使用策略放在策略类中配置后才提供调用方使用。

3、 简单工厂模式调用方可以直接调用工厂实例的方法属性等;

4、策略模式不能直接调用实例的方法属性,需要在策略类中封装策略后调用。

总结来说就是
1、简单工厂模式–》创建对象
2、 策略模式–》封装策略(算法)

其实单单就UML图来说,简单工厂模式也可以画成和策略模式一样,但是两个设计模式的侧重点不一样,简单工厂模式侧重点在于创建对象;策略模式的侧重点在于算法的封装;

你可能感兴趣的:(【道阻且长C++】,【C++设计模式】,简单工厂模式,策略模式)