工厂模式通过解耦对象创建提升可维护性。简单工厂集中创建逻辑,适用于类型少的场景;工厂方法模式由子类决定实例化,符合开闭原则;抽象工厂用于创建相关产品族,支持复杂依赖。

工厂模式是一种创建型设计模式,用来解耦对象的创建过程。在Java中,工厂模式通常通过定义一个创建对象的接口或抽象类,由子类决定实例化哪个类。它将对象的创建逻辑集中在一个地方,便于维护和扩展。
简单工厂不是23种设计模式之一,但它是工厂模式的基础。
假设我们要创建不同类型的图形(如圆形、矩形),可以定义一个图形接口:
interface Shape {实现类:
立即学习“Java免费学习笔记(深入)”;
class Circle implements Shape {class Rectangle implements Shape {
public void draw() {
System.out.println("绘制矩形");
}
}
然后创建一个工厂类来根据输入参数返回对应的对象:
class ShapeFactory {使用方式:
ShapeFactory factory = new ShapeFactory();工厂方法模式将对象的创建延迟到子类。定义一个创建对象的接口,让子类决定实例化哪一个类。
先定义一个工厂接口:
interface ShapeFactory {具体工厂实现:
class CircleFactory implements ShapeFactory {class RectangleFactory implements ShapeFactory {
public Shape createShape() {
return new Rectangle();
}
}
客户端代码:
ShapeFactory factory = new CircleFactory();这种方式的好处是新增图形类型时,不需要修改已有代码,只需添加新的工厂类和图形类,符合开闭原则。
抽象工厂用于创建一系列相关或依赖对象,而无需指定具体类。
例如,除了图形,我们还想创建颜色。定义颜色接口:
interface Color {实现:
class Red implements Color {定义抽象工厂:
interface AbstractFactory {具体工厂如“红色系图形工厂”:
class RedShapeFactory implements AbstractFactory { public Color createColor(String type) {
return new Red();
}
}
这样可以在一个工厂中创建一组相关的对象。
总结:
基本上就这些。
以上就是在Java中如何实现工厂模式的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号