
选择30多种云产品,以帮助企业轻松地使用云! >>>

一,什么是简单工厂模型
简单工厂模式(Simple Factory Pattern): 也称为静态工厂方法(Static Factory Method)模式,它属于类创建模式. 在简单工厂模式下简单工厂模式,抽象产品类可以派生多个具体的产品类,所有这些产品类都有一个公共的父类.
让我们看一下简单工厂模式的UML图:


第二,简单工厂模型的组成
三,示范例子
我们进行此分析. 有一家汽车厂可以制造汽车的各个部分. 在这家工厂中,有专门从事轮胎的工作坊,专门从事发动机的工作坊和更换车门的工作坊. 因此简单工厂模式,让我们考虑一下这些车间是否属于该汽车制造商,以及每个车间是否具有自己的功能.
假设我们现在正在组装车间组装汽车,他们需要引擎,轮胎,玻璃等组件. 作为组装汽车的人,他们不在乎您的工作,只在乎关于这件事是否完成. 好的,快点交给我,我将在这里使用它.
首先创建一个汽车制造商课程:
public interface CarFactory {
void ability();
}

由于我们拥有汽车制造商,因此我们的地下车间部门只需实施此类即可完成各自的功能.
玻璃车间:
public class Glass implements CarFactory{
@Override
public void ability() {
System.out.println("玻璃已经生产好了");
}
}
引擎工作室:
public class Engine implements CarFactory {
@Override
public void ability() {
System.out.println("发动机制造好了");
}
}
轮胎研讨会:

public class AutoTyre implements CarFactory{
@Override
public void ability() {
System.out.println("轮胎已经生产好了");
}
}
既然已经有了产品类别和特定产品,那么我们要建立一家工厂进行生产吗?工厂类别是整个模型的关键,它需要做出必要的逻辑判断,根据消费者信息,它需要决定要创建对象的哪个实例,消费者不再关心如何创建特定产品,他只需要对需要生产的产品负责.
public class Product {
public static CarFactory product(String skill) {
CarFactory carFactory = null;
switch (skill) {
// 制造轮胎
case "autoTyre":
carFactory = new AutoTyre();
break;
// 制造发动机
case "engine":
carFactory = new Engine();
break;
// 制造玻璃
case "glass":
carFactory = new Glass();
}
return carFactory;
}
}
在这里我们可以发现所有类都有一个公共的父类,并且这里的每个人都应该能够发现我们通常所说的封装,继承和多态性是否已经反映在这里(我没有使用继承,因为Java是单继承,所以我在这里更改了接口实现方法,因为Java可以实现更多,这有利于程序的扩展.
接下来,让我们看看装配车间如何要求所需的零件
public class CarMain {
public static void main(String[] args) {
// 生产一个发动机
CarFactory engine = Product.product("engine");
engine.ability();
// 生产一个玻璃
CarFactory glass = Product.product("glass");
glass.ability();
// 生产一个轮胎
CarFactory autoTyre = Product.product("autoTyre");
autoTyre.ability();
}
}

让我们首先看一下结果:

如果我们要生产其他零件,我们只需要实现汽车制造商的课程并完成我们的特定功能,并且与其他车间没有任何交集,我们只需要完成我们需要做的事情即可. <
四个模式优势
五个,简单工厂模型的缺点
六. 使用方案
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-282804-1.html
无比感触~
看看岛礁建设中还存在什么不足之处
加表情什么鬼