乐于分享
好东西不私藏

软件开发设计模式|工厂方法模式(精讲 + 代码 + 场景)

软件开发设计模式|工厂方法模式(精讲 + 代码 + 场景)

标题(任选)

  1. 设计模式 02|工厂方法模式 通俗讲解 + 实战代码💻
  2. 23 种设计模式连载② 工厂方法模式,解耦神器
  3. 拆解工厂方法模式!原理 + 案例 + 代码一站式学习

🔍 什么是工厂方法模式?

通俗讲:专门用 “工厂类” 来创建对象,调用方不用关心对象怎么 new、怎么构造,只需要告诉工厂想要什么产品就行。

核心目的:把对象创建和业务逻辑分开,方便扩展、降低耦合

🎬 生活 / 实际场景

  1. 奶茶店:店员(工厂)根据顾客需求,制作不同口味奶茶(产品),顾客不用管制作流程
  2. 软件场景:APP 推送功能,根据设备类型生成安卓 / 苹果推送消息
  3. 文具工厂:按需生产钢笔、铅笔等不同文具

💻 Java 代码实现

1. 抽象产品(统一产品规范)

java

运行

// 抽象产品:饮料public interface Drink {    void showName();}

2. 具体产品

java

运行

// 产品1:可乐public class Coke implements Drink {    @Override    public void showName() {        System.out.println("产出:可乐");    }}// 产品2:果汁public class Juice implements Drink {    @Override    public void showName() {        System.out.println("产出:果汁");    }}

3. 抽象工厂(统一工厂规范)

java

运行

// 抽象工厂public interface DrinkFactory {    Drink createDrink();}

4. 具体工厂

java

运行

// 可乐工厂public class CokeFactory implements DrinkFactory {    @Override    public Drink createDrink() {        return new Coke();    }}// 果汁工厂public class JuiceFactory implements DrinkFactory {    @Override    public Drink createDrink() {        return new Juice();    }}

5. 测试调用

java

运行

public class Test {    public static void main(String[] args) {        DrinkFactory factory1 = new CokeFactory();        Drink drink1 = factory1.createDrink();        drink1.showName();        DrinkFactory factory2 = new JuiceFactory();        Drink drink2 = factory2.createDrink();        drink2.showName();    }}

✅ 工厂方法模式 常用业务场景总结

  1. 对象创建逻辑复杂,多处重复 new 对象的场景
  2. 需要批量生成同类但不同品类的对象(如各类支付方式、消息推送)
  3. 产品体系会持续扩展,后续要新增产品无需改动原有代码
  4. 框架底层组件创建、第三方类实例化
  5. 多终端适配:不同系统 / 设备生成对应功能实例

结尾互动 + 预告

第二期工厂方法模式讲解完毕✨

下期更新抽象工厂模式,记得持续关注哦~

#设计模式 #Java #程序员 #编程入门 #代码实战 #软件开发


🖼️ 配图文案参考(16:9 封面 / 内页文字)

封面大字:设计模式 02・工厂方法模式

小字:原理 | 代码 | 实战场景

内页分区图文字:

  • 核心定义:工厂负责创建对象,解耦代码
  • 四层结构:抽象产品 + 具体产品 + 抽象工厂 + 具体工厂
  • 适用场景:多品类对象、功能持续扩展