抽象工厂模式(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
    }
}
相关推荐
Meteors.5 天前
23种设计模式——抽象工厂模式(Abstract Factory Pattern)详解
设计模式·抽象工厂模式
柯南二号6 天前
【Android】【设计模式】抽象工厂模式改造弹窗组件必知必会
android·设计模式·抽象工厂模式
hai_qin17 天前
三,设计模式-抽象工厂模式
c++·设计模式·抽象工厂模式
o0向阳而生0o24 天前
93、23种设计模式之抽象工厂模式
设计模式·抽象工厂模式
哈基米喜欢哈哈哈1 个月前
设计模式(一)——抽象工厂模式
设计模式·抽象工厂模式
欲儿3 个月前
抽象工厂设计模式
java·设计模式·抽象工厂模式
OpenC++3 个月前
【C++】简单工厂模式/工厂方法模式/抽象工厂模式对比
c++·设计模式·简单工厂模式·工厂方法模式·抽象工厂模式
99乘法口诀万物皆可变3 个月前
C#设计模式之AbstractFactory_抽象工厂_对象创建新模式-学习
设计模式·c#·抽象工厂模式
空心菜1233 个月前
Java工厂模式及抽象工厂模式详解
java·开发语言·抽象工厂模式
h20170106873 个月前
简单工厂、工厂、抽象工厂模式
简单工厂模式·工厂方法模式·抽象工厂模式