抽象工厂模式(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
    }
}
相关推荐
周某某~1 小时前
四.抽象工厂模式
java·设计模式·抽象工厂模式
摘星编程2 天前
抽象工厂模式深度解析:从原理到与应用实战
设计模式·抽象工厂模式·源码分析·软件架构·实战案例
QQ_hoverer9 天前
抽象工厂模式与策略模式结合使用小案例
抽象工厂模式·策略模式
码农秋9 天前
设计模式系列(06):抽象工厂模式(Abstract Factory)
设计模式·抽象工厂模式
{⌐■_■}11 天前
【设计模式】简单工厂模式,工厂模式,抽象工厂模式,单例,代理,go案例区分总结
开发语言·redis·后端·设计模式·golang·简单工厂模式·抽象工厂模式
二次程序员16 天前
ECharts图表工厂,完整代码+思路逻辑
前端·javascript·css·echarts·抽象工厂模式·大屏端
wu~97021 天前
手撕四种常用设计模式(工厂,策略,代理,单例)
java·单例模式·设计模式·代理模式·抽象工厂模式·策略模式
不当菜虚困1 个月前
JAVA设计模式——(十)抽象工厂模式(Abstract Factory Pattern)
java·设计模式·抽象工厂模式
Cuit小唐1 个月前
C++ 抽象工厂模式详解
抽象工厂模式
帝锦_li1 个月前
Java进阶--设计模式
观察者模式·单例模式·代理模式·抽象工厂模式·适配器模式·原型模式