工厂模式解决的问题:
首先看过我策略模式的伙伴就会发现,具体选择某一个策略的过程是需要创建实际的实现策略对象的,当时使用了SpringContext配合类名的灵活配置达到了灵活创建和使用的效果。这里使用工厂模式也是可以实现的,其可灵活性和可扩展性俱佳。
所以工厂模式的目标是为我创建我需要的实现类,也可扩展。
我们继续使用模板模式的场景来完善其模板模式的使用方法
- 创建支付工厂类
2.对于每个策略都生成对应的工厂类,其返回对应策略的实体对象
3.直接通过工厂类获取实现类使用
总结:工厂模式的开闭原则做的比较好,我在策略模式中使用的方法则充分利用了spring的工具,实际开发中还是看情况使用。另外简单工厂模式和工厂方法实际使用价值不高(Spring真香),就不在此做太多描述。