## 工厂设计模式
工厂模式是一种常用的设计模式,通常在以下情况下使用:
1. **对象的创建需要根据不同的条件进行变化**:工厂模式可以根据不同的条件或参数来创建不同的对象,这样可以实现更灵活的对象创建。
2. **隐藏对象创建的细节**:通过工厂模式,客户端代码不需要知道对象的创建细节,只需要通过工厂方法或工厂类来获取所需的对象,从而降低了耦合度。
3. **对象的创建逻辑可能发生变化**:如果对象的创建逻辑可能发生变化,例如需要根据用户输入来动态选择创建哪种对象,使用工厂模式可以更方便地进行管理和调整。
4. **对象的创建涉及复杂逻辑或依赖其他对象**:当对象的创建过程涉及到复杂的逻辑或需要依赖其他对象时,使用工厂模式可以将这些逻辑封装在工厂中,让客户端代码更简洁。
总的来说,工厂模式适用于需要根据不同条件创建对象、需要隐藏对象创建细节、对象创建逻辑可能变化、或者创建过程涉及复杂逻辑的情况。
###
提供了一种创建对象的最佳方式,我们在创建对象的时候不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
###
比如业务开发中,支付很常见,里面有统一下单和支付接口,具体的支付实现可以是微信、支付宝、银行卡等,我们就可以利用工厂模式来实现不同形式的微信支付方式。
###
## 工厂模式的三种不同实现方式
###
**简单工厂模式**:通过传入相关的类型来返回相应的类,这种方式比较单一,可扩展性相对较差;
**工厂方法模式**:通过实现类实现相应的方法来决定相应的返回结果,这种方式的可扩展性比较强;
**抽象工厂模式**:基于上述两种模式的扩展,且支持细化产品。
###
## 应用场景
###
解耦:分离职责,把复杂对象的创建和使用的过程分开
复用代码,降低维护成本:
如果对象创建复杂且多出需要使用,如果每处都进行编写,则很多重复代码,如果业务逻辑发生了改变,则需要四处修改;
使用工厂模式统一创建,则只要修改工厂类即可,降低成本。
###
- 设计模式六大原则
- 常见的三大设计模式分类
- 创建型模式之单例模式
- 单例模式之懒汉
- 单例模式之饿汉
- 单例模式之如何选择懒汉饿汉
- 什么情况下使用单例模式
- 创建型模式之工厂模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 创建型模式之原型模式
- 创建型模式之建造者模式
- 结构型模式之适配器模式
- 接口的适配器模式
- 类的适配器模式
- 结构型模式之桥接模式
- 结构型模式之桥接模式和适配器模式的区别
- 结构型模式之装饰器模式
- 结构型模式之代理模式
- 结构模式之外观模式
- 结构模式之享元模式
- 行为模式之策略模式
- 行为模式之模板模式
- 行为模式之观察者模式
- 行为模式之责任链模式
- 行为模式之命令模式
- 行为模式之迭代器模式
- 行为模式之备忘录模式
- 行为模式之状态模式