Java设计模式之工厂模式
时间:2022-03-02 09:06:51|栏目:JAVA代码|点击: 次
一、场景描述
仪器数据文件的格式包含Pdf、Word、Excel等多种,不同种格式的文件其数据的采集方式不同,因此定义仪器数据采集接口,并定义PDF、Excel等不同的数据采集类实现该接口。
通过工厂类,调用不同的方法,获取不同的仪器数据采集类,调用接口方法即可。
如不使用工厂模式,则需要new不同的采集类对象,使用工厂模式则隐藏了new的创建方式。
如下图所示:

二、示例代码
仪器数据采集接口:
package lims.designpatterndemo.factorydemo;
public interface EquipmentDataCapture {
public String capture(String filePath);
}
PDF文件数据采集类:
package lims.designpatterndemo.factorydemo;
public class PdfFileCapture implements EquipmentDataCapture{
@Override
public String capture(String filePath) {
return "PDF file content";
}
}
Excel文件数据采集类:
package lims.designpatterndemo.factorydemo;
public class ExcelFileCapture implements EquipmentDataCapture{
@Override
public String capture(String filePath) {
return "Excel File Content";
}
}
工厂类:
package lims.designpatterndemo.factorydemo;
public class EquipmentDataCaptureFactory {
public static EquipmentDataCapture getPdfFileCapture(){
return new PdfFileCapture();
}
public static EquipmentDataCapture getExcelFileCapture(){
return new ExcelFileCapture();
}
}
调用示例:
package lims.designpatterndemo.factorydemo;
public class FactoryDemo {
public static void main(String[] args) {
EquipmentDataCapture edc = EquipmentDataCaptureFactory.getPdfFileCapture();
edc = EquipmentDataCaptureFactory.getExcelFileCapture();
String fileContent = edc.capture("");
System.out.println(fileContent);
}
}
上一篇:手写redis@Cacheable注解 支持过期时间设置方式
栏 目:JAVA代码
下一篇:mybatis如何设置useGeneratedKeys=true
本文标题:Java设计模式之工厂模式
本文地址:http://www.codeinn.net/misctech/195010.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




