我们提供安全,免费的手游软件下载!
简单工厂模式
(Simple Factory Pattern)是一种创建型设计模式,它定义了一个工厂类,该类可以根据
传入的参数
决定创建哪种产品类的实例。简单工厂模式将对象的创建逻辑封装在一个工厂类中,客户端只需要通过工厂类获取实例,而不需要直接涉及实例化的细节。
简单工厂模式包含三个主要部分:
一个图形工厂,生成出两种画图工具(圆形和矩形),通过生产出来的画图工具进行绘图。
使用者(SimpleFactoryDemo)只需要知道,工厂方法类(ShapeFactory)和产品接口(Shape)即可。你写得代码不需要import具体的类进入你的代码,只需要导入接口和工厂类即可,这使得客户端的代码不会和具体的类耦合到一起,这也是面向抽象(接口或抽象类)编程的一大好处,使用的是多态的特性。
// 产品接口 - 图形
interface Shape {
void draw();
}
// 具体产品 - 圆形
class Circle implements Shape {
@Override
public void draw() {
System.out.println("绘制圆形");
}
}
// 具体产品 - 矩形
class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("绘制矩形");
}
}
// 工厂类
class ShapeFactory {
public static Shape createShape(String type) {
switch (type) {
case "circle":
return new Circle();
case "rectangle":
return new Rectangle();
default:
throw new IllegalArgumentException("无效的形状类型: " + type);
}
}
}
// 客户端代码
public class SimpleFactoryDemo {
public static void main(String[] args) {
// 创建圆形
Shape circle = ShapeFactory.createShape("circle");
circle.draw();
// 创建矩形
Shape rectangle = ShapeFactory.createShape("rectangle");
rectangle.draw();
}
}
这就好比如我手上只有一支笔,只需要在画图工具界面上选择什么形状就可以画什么形状。
如果某天我想加入五角星形,那需要新增五角星形类和修改工厂类即可。
如果某天我想删除矩形,只需要修改工厂方法即可,甚至都不要删除
Rectangle
类
createShape()
方法,不需要知道具体的产品类的构造过程。
简单工厂模式是一种通过一个工厂类来创建不同类型对象的模式,客户端不需要关心对象的创建过程,只需要调用工厂方法来
获取所需的对象
。它适用于对象较少且不会频繁变动的场景。随着产品类型的增加,简单工厂模式可能变得难以维护,因此对于复杂的情况,通常会考虑使用工厂方法模式或抽象工厂模式。
什么是设计模式?
单例模式及其思想
设计模式--原型模式及其编程思想
掌握设计模式之生成器模式
超实用的SpringAOP实战之日志记录
2023年下半年软考考试重磅消息
通过软考后却领取不到实体证书?
计算机算法设计与分析(第5版)
Java全栈学习路线、学习资源和面试题一条龙
软考证书=职称证书?
软考中级--软件设计师毫无保留的备考分享
热门资讯