java程序设计开发,设计思想开源框架-创建型模式之工厂方法模式,一个创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。
工厂方法模式概述
定义
工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它定义了一个创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。该模式将对象的创建和使用分离,提高了代码的可维护性和可扩展性。
核心角色
- 抽象工厂(Abstract Factory):定义了创建产品的抽象方法,通常是一个接口或抽象类。
- 具体工厂(Concrete Factory):实现了抽象工厂中的抽象方法,负责创建具体的产品对象。
- 抽象产品(Abstract Product):定义了产品的公共接口或抽象类。
- 具体产品(Concrete Product):实现了抽象产品接口,是具体的产品对象。
代码示例
// 抽象产品
interface Shape {
void draw();
}
// 具体产品:圆形
class Circle implements Shape {
@Override
public void draw() {
System.out.println("绘制圆形");
}
}
// 具体产品:方形
class Square implements Shape {
@Override
public void draw() {
System.out.println("绘制方形");
}
}
// 抽象工厂
interface ShapeFactory {
Shape createShape();
}
// 具体工厂:圆形工厂
class CircleFactory implements ShapeFactory {
@Override
public Shape createShape() {
return new Circle();
}
}
// 具体工厂:方形工厂
class SquareFactory implements ShapeFactory {
@Override
public Shape createShape() {
return new Square();