工厂模式
工厂方法模式,是⼀种创建型设计模式。定义一个用于创建产品的接口,由子类决定生产什么产品。 工厂方法模式是典型的解耦框架,这种设计模式也是 Java 开发中最常见的⼀种模式。
工厂模式特点
核心关注点
- 关注对象创建:解决"创建什么对象"的问题
- 封装创建逻辑:隐藏复杂的对象实例化过程
主要特点
- 职责单一:只负责创建对象,创建完就不管了
- 参数驱动:根据传入参数决定创建哪种对象
- 解耦创建:客户端不需要知道具体如何创建对象
- 静态性质:通常使用静态方法创建对象
图形接口
java
interface Shape {
void draw();
}具体图形类
java
// 具体图形类
class Circle implements Shape {
@Override
public void draw() {
System.out.println("画一个圆形 ●");
}
}
class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("画一个矩形 ▭");
}
}
class Triangle implements Shape {
@Override
public void draw() {
System.out.println("画一个三角形 ▲");
}
}图形工厂
java
class ShapeFactory {
public static Shape createShape(String type) {
if (shapeType == null) {
return null;
}
switch (shapeType.toLowerCase()) {
case "circle":
return new Circle();
case "rectangle":
return new Rectangle();
case "triangle":
return new Triangle();
default:
return null;
}
}
}测试
java
public class Main {
public static void main(String[] args) {
ShapeFactory.createShape("circle").draw();
ShapeFactory.createShape("rectangle").draw();
ShapeFactory.createShape("triangle").draw();
}
}输出
powershell
画一个圆形 ●
画一个矩形 ▭
画一个三角形 ▲