简单工厂模式和策略模式的区别

来源:互联网 发布:河北政法网络教学平台 编辑:程序博客网 时间:2024/05/02 01:07


按一般教程中出现的例子理解:


简单工厂模式:客户端传一个条件进工厂类,工厂类根据条件创建相应的产品类对象,并return给客户端,供客户端使用。即客户端使用的是工厂类生产的产品对象。


策略模式:客户端创建一个Context类对象a(可以看作是工厂模式中工厂类),创建一个策略对象并传参给对象a,然后客户端使用a对象的某些方法来使用前面传参进来的策略,即客户端是通过a对象使用策略的。


简单的说,


1、工厂模式根据条件生产出产品给客户端用。而策略模式是客户端使用传参给Context的策略(你也可以理成产品),传入策略的不同,调用同样方法得到的结果也不同。


2、工厂模式:客户端是使用工厂类生产的对象进行操作,策略模式:客户端使用自己传给Context的策略的对象进行操作。












本文转自:

https://www.cnblogs.com/langtianya/archive/2013/03/08/2950934.html




原创粉丝点击