## 简单工厂模式
###
又称静态工厂方法,可以根据参数的不同返回不同类的实例,专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类
###
由于工厂方法是静态方法,可通过类名直接调用,而且只需要传入简单的参数即可
###
## 核心组成:
###
**Factory: 工厂类**,简单工厂模式的核心,它负责实现创建所有实例的内部逻辑
**IProduct:抽象产品类**,简单工厂模式所创建的所有对象的父类,描述所有实例所共有的公共接口
**Product:具体产品类**,实简单工厂模式的创建目标
###
## 实现步骤
###
**创建抽象产品类**,⾥⾯有产品的抽象⽅法,由具体的产品类去实现
###
**创建具体产品类**,继承了他们的⽗类,并实现具体⽅法
###
**创建⼯⼚类**,提供了⼀个静态⽅法createXXX⽤来⽣产产品,只需要传⼊你想产品名称
###
## 优点:
###
将对象的创建和对象本身业务处理分离可以降低系统的耦合度,使得两者修改起来都相对容易
###
## 缺点:
###
⼯⼚类的职责相对过重,增加新的产品需要修改⼯⼚类的判断逻辑,这⼀点与开闭原则是相违背
###
即开闭原则(Open Close Principle)对扩展开放,对修改关闭,程序需要进⾏拓展的时候,不能去修改原有的代码,实现⼀个热插拔的效果
###
将会增加系统中类的个数,在⼀定程度上增加了系统的复杂度和理解难度,不利于系统的扩展和维护,创建简单对象就不⽤模式
###
## 具体实现(云效代码study-java项目当中设计模式当中有代码案例):
###
![](https://img.kancloud.cn/0d/25/0d25c129a4bd5729c08102c50e974e94_1898x969.png)
- 设计模式六大原则
- 常见的三大设计模式分类
- 创建型模式之单例模式
- 单例模式之懒汉
- 单例模式之饿汉
- 单例模式之如何选择懒汉饿汉
- 什么情况下使用单例模式
- 创建型模式之工厂模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 创建型模式之原型模式
- 创建型模式之建造者模式
- 结构型模式之适配器模式
- 接口的适配器模式
- 类的适配器模式
- 结构型模式之桥接模式
- 结构型模式之桥接模式和适配器模式的区别
- 结构型模式之装饰器模式
- 结构型模式之代理模式
- 结构模式之外观模式
- 结构模式之享元模式
- 行为模式之策略模式
- 行为模式之模板模式
- 行为模式之观察者模式
- 行为模式之责任链模式
- 行为模式之命令模式
- 行为模式之迭代器模式
- 行为模式之备忘录模式
- 行为模式之状态模式