抽象工厂模式(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
    }
}
相关推荐
乐悠小码18 小时前
Java设计模式精讲---02抽象工厂模式
java·设计模式·抽象工厂模式
数据知道4 天前
Go语言设计模式:抽象工厂模式详解
设计模式·golang·抽象工厂模式·go语言
成钰8 天前
设计模式之抽象工厂模式:最复杂的工厂模式变种
java·设计模式·抽象工厂模式
WaWaJie_Ngen16 天前
【设计模式】工厂模式(Factory)
c++·设计模式·简单工厂模式·工厂方法模式·抽象工厂模式
Deschen19 天前
设计模式-抽象工厂模式
java·设计模式·抽象工厂模式
1710orange1 个月前
java设计模式:抽象工厂模式 + 建造者模式
java·设计模式·抽象工厂模式
yujkss1 个月前
23种设计模式之【抽象工厂模式】-核心原理与 Java实践
java·设计模式·抽象工厂模式
奔跑吧邓邓子1 个月前
【C++实战㊵】C++抽象工厂模式:解锁高效对象创建的密钥
c++·实战·抽象工厂模式
charlie1145141911 个月前
精读《C++20设计模式》:创造性模式——工厂方法和抽象工厂模式
学习·设计模式·简单工厂模式·工厂方法模式·抽象工厂模式·c++20·嵌套工厂模式
bkspiderx1 个月前
C++设计模式之创建型模式:抽象工厂模式(Abstract Factory)
c++·设计模式·抽象工厂模式