抽象工厂模式(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
    }
}
相关推荐
闲人一枚(学习中)2 天前
设计模式-创建型-抽象工厂模式
设计模式·抽象工厂模式
哪 吒2 天前
最简单的设计模式,抽象工厂模式,是否属于过度设计?
设计模式·抽象工厂模式
程序员奇奥3 天前
设计模式——简单工厂模型、工厂模式、抽象工厂模式、单例模式、代理模式、模板模式
单例模式·设计模式·抽象工厂模式
shinelord明11 天前
【再谈设计模式】抽象工厂模式~对象创建的统筹者
数据结构·算法·设计模式·软件工程·抽象工厂模式
xianwu54312 天前
【设计模式】工厂模式
开发语言·c++·设计模式·简单工厂模式·抽象工厂模式
努力编程的阿伟14 天前
软件工程中的创建型设计模式:工厂方法模式与抽象工厂模式
设计模式·软件工程·抽象工厂模式
Hello.Reader15 天前
抽象工厂模式详解
抽象工厂模式
编程、小哥哥16 天前
设计模式之抽象工厂模式(替换Redis双集群升级,代理类抽象场景)
redis·设计模式·抽象工厂模式
sniper_fandc18 天前
抽象工厂模式
java·设计模式·抽象工厂模式
CoderIsArt25 天前
工厂方法模式与抽象工厂模式
java·工厂方法模式·抽象工厂模式