最近看设计模式,一开始讲了个工厂模式和设计模式,二者很像啊。
他们都是用来动态创建对象的,大大的增强了程序的功能扩展性。
工厂模式功能:可以根据需求,创建某个对象。
策略模式功能:可以根据需求,创建某个对象。
功能几乎是一模一样,却别还是有的:
“工厂”是批量生产的代表,“策略”是一对一的,一个问题一个策略,
看段代码:
// 工厂模式生产对象
Object obj = ObjectFactory.craetObject("需求");
// 策略模式获取对象
Object obj = new ObjectContext("需求");
工厂模式不会把工厂给你让你去生产,而是通过工厂去批量生产,ObjectFactory类只需要创建一次就行,后期只需要使用即可,批量需求更加方便了。
同理,策略模式则是需要时候根据需求创建,对于只需要少量创建是很方便,批量创建可能没工厂类划算
纯属个人理解,感觉蛮有道理的