溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java設計模式之工廠模式

發布時間:2020-10-13 10:16:07 來源:腳本之家 閱讀:139 作者:馬洪彪 欄目:編程語言

一、場景描述

儀器數據文件的格式包含Pdf、Word、Excel等多種,不同種格式的文件其數據的采集方式不同,因此定義儀器數據采集接口,并定義PDF、Excel等不同的數據采集類實現該接口。

通過工廠類,調用不同的方法,獲取不同的儀器數據采集類,調用接口方法即可。

如不使用工廠模式,則需要new不同的采集類對象,使用工廠模式則隱藏了new的創建方式。

如下圖所示:

Java設計模式之工廠模式

二、示例代碼

儀器數據采集接口:

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);
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女