简单工厂模式和策略模式
这里讨论一下简单工厂模式和策略模式的区别。
简单工厂模式是把通过类创建实例的过程封装起来,如上图所示,封装在Factory类中,一般情况下Factory类返回的是基类类型,这里用到了多态。
策略模式是把通过类创建实例的过程和调用实例方法的过程封装起来,如上图所示,封装在Content(Context)类中,也用到了多态。相比于简单工厂模式只创建实例对象,策略模式一般情况下不仅会创建实例对象,还会调用实例对象的方法。简单工厂模式更强调创建对象,策略模式更强调调用对象方法的过程。
感觉两种设计模式都有各自的好处,可以相互实现,但是不建议互换使用。