工厂模式
- 定义:提供一个创建产品的接口(工厂接口),由该接口的实现类去决定如何去创建产品。
消费者根据实际场景选择不同的工厂实现类去创建所需要的产品,消费者不关注该产品的创建细节,只要把该产品创建出来就行。
策略模式
- 定义:提供一系列的策略,这些策略是可替代的,消费者可以灵活使用策略,执行不同的行为。
消费者在知道所有的策略的情况下,选择当前最适合的策略去执行。
区别
工厂模式是创建型设计模式,它主要关心如何去创建一个对象。策略模式是行为型设计模式,它不关注如何去创建一个对象,而是去挑选一个最符合当前应用场景的策略。
两者可以结合起来使用,利用工厂模式生产出策略,由策略模式选择策略去执行。