Skip to content

工厂模式

工厂方法模式,是⼀种创建型设计模式。定义一个用于创建产品的接口,由子类决定生产什么产品。 工厂方法模式是典型的解耦框架,这种设计模式也是 Java 开发中最常见的⼀种模式。

工厂模式特点

核心关注点

  • 关注对象创建:解决"创建什么对象"的问题
  • 封装创建逻辑:隐藏复杂的对象实例化过程

主要特点

  1. 职责单一:只负责创建对象,创建完就不管了
  2. 参数驱动:根据传入参数决定创建哪种对象
  3. 解耦创建:客户端不需要知道具体如何创建对象
  4. 静态性质:通常使用静态方法创建对象

图形接口

java
interface Shape {
    void draw();
}

具体图形类

java
// 具体图形类
class Circle implements Shape {
    @Override
    public void draw() {
        System.out.println("画一个圆形 ●");
    }
}

class Rectangle implements Shape {
    @Override
    public void draw() {
        System.out.println("画一个矩形 ▭");
    }
}

class Triangle implements Shape {
    @Override
    public void draw() {
        System.out.println("画一个三角形 ▲");
    }
}

图形工厂

java
class ShapeFactory {
    public static Shape createShape(String type) {
        if (shapeType == null) {
            return null;
        }
        switch (shapeType.toLowerCase()) {
            case "circle":
                return new Circle();
            case "rectangle":
                return new Rectangle();
            case "triangle":
                return new Triangle();
            default:
                return null;
        }
    }
}

测试

java
public class Main {
    public static void main(String[] args) {
        ShapeFactory.createShape("circle").draw();
        ShapeFactory.createShape("rectangle").draw();
        ShapeFactory.createShape("triangle").draw();
    }
}

输出

powershell
画一个圆形 ●
画一个矩形 ▭
画一个三角形 ▲

如有转载或 CV 的请标注本站原文地址

访客数 --| 总访问量 --