Java设计模式之工厂模式
程序员文章站
2022-06-11 11:47:22
一、场景描述
仪器数据文件的格式包含pdf、word、excel等多种,不同种格式的文件其数据的采集方式不同,因此定义仪器数据采集接口,并定义pdf、excel等不同...
一、场景描述
仪器数据文件的格式包含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); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。