一、場(chǎng)景描述
九江網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),九江網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為九江千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的九江做網(wǎng)站的公司定做!
儀器數(shù)據(jù)文件的格式包含Pdf、Word、Excel等多種,不同種格式的文件其數(shù)據(jù)的采集方式不同,因此定義儀器數(shù)據(jù)采集接口,并定義PDF、Excel等不同的數(shù)據(jù)采集類實(shí)現(xiàn)該接口。
通過(guò)工廠類,調(diào)用不同的方法,獲取不同的儀器數(shù)據(jù)采集類,調(diào)用接口方法即可。
如不使用工廠模式,則需要new不同的采集類對(duì)象,使用工廠模式則隱藏了new的創(chuàng)建方式。
如下圖所示:
二、示例代碼
儀器數(shù)據(jù)采集接口:
package lims.designpatterndemo.factorydemo; public interface EquipmentDataCapture { public String capture(String filePath); }
PDF文件數(shù)據(jù)采集類:
package lims.designpatterndemo.factorydemo; public class PdfFileCapture implements EquipmentDataCapture{ @Override public String capture(String filePath) { return "PDF file content"; } }
Excel文件數(shù)據(jù)采集類:
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(); } }
調(diào)用示例:
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); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。