💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 简单工厂模式 ### 又称静态工厂方法,可以根据参数的不同返回不同类的实例,专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类 ### 由于工厂方法是静态方法,可通过类名直接调用,而且只需要传入简单的参数即可 ### ## 核心组成: ### **Factory: 工厂类**,简单工厂模式的核心,它负责实现创建所有实例的内部逻辑 **IProduct:抽象产品类**,简单工厂模式所创建的所有对象的父类,描述所有实例所共有的公共接口 **Product:具体产品类**,实简单工厂模式的创建目标 ### ## 实现步骤 ### **创建抽象产品类**,⾥⾯有产品的抽象⽅法,由具体的产品类去实现 ### **创建具体产品类**,继承了他们的⽗类,并实现具体⽅法 ### **创建⼯⼚类**,提供了⼀个静态⽅法createXXX⽤来⽣产产品,只需要传⼊你想产品名称 ### ## 优点: ### 将对象的创建和对象本身业务处理分离可以降低系统的耦合度,使得两者修改起来都相对容易 ### ## 缺点: ### ⼯⼚类的职责相对过重,增加新的产品需要修改⼯⼚类的判断逻辑,这⼀点与开闭原则是相违背 ### 即开闭原则(Open Close Principle)对扩展开放,对修改关闭,程序需要进⾏拓展的时候,不能去修改原有的代码,实现⼀个热插拔的效果 ### 将会增加系统中类的个数,在⼀定程度上增加了系统的复杂度和理解难度,不利于系统的扩展和维护,创建简单对象就不⽤模式 ### ## 具体实现(云效代码study-java项目当中设计模式当中有代码案例): ### ![](https://img.kancloud.cn/0d/25/0d25c129a4bd5729c08102c50e974e94_1898x969.png)