抽象工厂模式(Abstract Factory)

抽象工厂模式是一种创建型设计模式,提供一个创建一系列相关或互相依赖对象的接口,而无需指定具体的类。

适用场景:

  • 当系统需要独立于产品的创建、组合和表示时。
  • 当系统的产品有多个变体并且需要组合使用时。

示例代码:

bash 复制代码
// AbstractProduct
interface Shape {
    void draw();
}

// ConcreteProducts
class Circle implements Shape {
    @Override
    public void draw() {
        System.out.println("Drawing a Circle");
    }
}

class Square implements Shape {
    @Override
    public void draw() {
        System.out.println("Drawing a Square");
    }
}

// AbstractFactory
interface ShapeFactory {
    Shape createShape();
}

// ConcreteFactories
class CircleFactory implements ShapeFactory {
    @Override
    public Shape createShape() {
        return new Circle();
    }
}

class SquareFactory implements ShapeFactory {
    @Override
    public Shape createShape() {
        return new Square();
    }
}

class Client {
    public static void main(String[] args) {
        ShapeFactory factory = new CircleFactory();
        Shape shape = factory.createShape();
        shape.draw(); // 输出: Drawing a Circle
    }
}
相关推荐
撒呼呼3 天前
设计模式 - 工厂模式 精准梳理&精准记忆
java·设计模式·简单工厂模式·工厂方法模式·抽象工厂模式·设计规范
JuicyActiveGilbert6 天前
【C++设计模式】第三篇:抽象工厂模式(Abstract Factory)
开发语言·c++·抽象工厂模式
多多*13 天前
设计模式 工厂模式 工厂方法模式 抽象工厂模式
设计模式·工厂方法模式·抽象工厂模式
千里码!14 天前
java23种设计模式-抽象工厂模式
设计模式·抽象工厂模式·策略模式
FLZJ_KL15 天前
【设计模式】【创建型模式】抽象工厂模式(Abstract Factory)
java·设计模式·抽象工厂模式
菜鸟一枚在这17 天前
深入剖析抽象工厂模式:设计模式中的架构利器
设计模式·架构·抽象工厂模式
码熔burning17 天前
(三)趣学设计模式 之 抽象工厂模式!
设计模式·抽象工厂模式
攻城狮7号18 天前
【第二节】C++设计模式(创建型模式)-抽象工厂模式
c++·设计模式·抽象工厂模式
ThereIsNoCode25 天前
「软件设计模式」工厂方法模式 vs 抽象工厂模式
设计模式·抽象工厂模式
LuckyLay1 个月前
Golang学习笔记_29——抽象工厂模式
笔记·学习·golang·抽象工厂模式