简单工厂模式【创建型模型】
目录1.特点2.模型与结构2.1.模型2.2.结构图3.代码实现3.1.产品抽象3.2.产品实现3.3.产品的构建4.应用场景1.特点在一个类中定义不同类型的不同实现,通过入参进行判断,生产出来的产品是什么。2.模型与结构2.1.模型简单工厂模式的主要角色如下:简单工厂(SimpleFactory):是简单工厂模式的核心,负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,
·
目录
1.特点
在一个类中定义不同类型的不同实现,通过入参进行判断,生产出来的产品是什么。
2.模型与结构
2.1.模型
简单工厂模式的主要角色如下:
简单工厂(SimpleFactory):是简单工厂模式的核心,负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。
抽象产品(Product):是简单工厂创建的所有对象的父类,负责描述所有实例共有的公共接口。
具体产品(ConcreteProduct):是简单工厂模式的创建目标。
2.2.结构图
3.代码实现
3.1.产品抽象
//抽象产品
public interface Product {
void show();
}
3.2.产品实现
//具体产品:ProductA
static class ConcreteProduct1 implements Product {
public void show() {
System.out.println("具体产品1显示...");
}
}
//具体产品:ProductB
static class ConcreteProduct2 implements Product {
public void show() {
System.out.println("具体产品2显示...");
}
}
3.3.产品的构建
public class Client {
public static void main(String[] args) {}
final class Const {
static final int PRODUCT_A = 0;
static final int PRODUCT_B = 1;
static final int PRODUCT_C = 2;
}
static class SimpleFactory {
public static Product makeProduct(int kind) {
switch (kind) {
case Const.PRODUCT_A:
return new ConcreteProduct1();
case Const.PRODUCT_B:
return new ConcreteProduct2();
}
return null;
}
}
}
4.应用场景
对应的产品比较少的情况,考虑到使用简单工厂的方式。
使用简单工厂模式的客户端只需要知道传入工厂的参数,不需要关系如何创建对象的逻辑,可以方便的创建所需要的产品。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)