抽象工厂模式(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
    }
}
相关推荐
SadSunset2 天前
(15)抽象工厂模式(了解)
java·笔记·后端·spring·抽象工厂模式
Trouvaille ~3 天前
【Java篇】以简驭繁:接口的精简与程序的优雅
java·开发语言·接口·抽象工厂模式·类和对象·javase·基础入门
ZouZou老师5 天前
C++设计模式之抽象工厂模式:以家具生产为例
c++·设计模式·抽象工厂模式
Q180809519 天前
基于MATLAB/SIMULINK的异步电动机矢量控制系统探秘
抽象工厂模式
海中有金11 天前
设计模式[2]——抽象工厂模式一分钟说清
设计模式·抽象工厂模式
__万波__16 天前
二十三种设计模式(三)--抽象工厂模式
java·设计模式·抽象工厂模式
phdsky18 天前
【设计模式】抽象工厂模式
c++·设计模式·抽象工厂模式
MM_MS21 天前
C#小案例-->汽车租聘系统计价功能
c#·汽车·简单工厂模式·抽象工厂模式·visual studio
ZHE|张恒24 天前
设计模式(三)抽象工厂模式 — 一次性创建一整套相关对象的终极工厂
设计模式·抽象工厂模式
梵豪1 个月前
抽象工厂模式在智慧蔬菜大棚物联网系统中的应用
物联网·抽象工厂模式