最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java設計模式之工廠模式

 更新時間:2018年03月24日 09:34:51   作者:馬洪彪  
這篇文章主要為大家詳細介紹了Java設計模式之工廠模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、場景描述

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

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

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

如下圖所示:

二、示例代碼

儀器數(shù)據采集接口:

package lims.designpatterndemo.factorydemo;

public interface EquipmentDataCapture {
  public String capture(String filePath);
}

PDF文件數(shù)據采集類:

package lims.designpatterndemo.factorydemo;

public class PdfFileCapture implements EquipmentDataCapture{

  @Override
  public String capture(String filePath) {
    return "PDF file content";
  }
}

Excel文件數(shù)據采集類:

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

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

相關文章

  • Mybatis?MappedStatement類核心原理詳解

    Mybatis?MappedStatement類核心原理詳解

    這篇文章主要介紹了Mybatis?MappedStatement類,mybatis的mapper文件最終會被解析器,解析成MappedStatement,其中insert|update|delete|select每一個標簽分別對應一個MappedStatement
    2022-11-11
  • elasticsearch源碼分析index?action實現(xiàn)方式

    elasticsearch源碼分析index?action實現(xiàn)方式

    這篇文章主要為大家介紹了elasticsearch源碼分析index?action實現(xiàn)方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • SpringCloud如何解決服務之間的通信問題

    SpringCloud如何解決服務之間的通信問題

    本文主要介紹了SpringCloud如何解決服務之間的通信問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • Java的BigDecimal在math包中提供的API類場景使用詳解

    Java的BigDecimal在math包中提供的API類場景使用詳解

    這篇文章主要介紹了Java的BigDecimal在math包中提供的API類場景使用詳解,BigDecimal,用來對超過16位有效位的數(shù)進行精確的運算,雙精度浮點型變量double可以處理16位有效數(shù),在實際應用中,需要對更大或者更小的數(shù)進行運算和處理,需要的朋友可以參考下
    2023-12-12
  • JAVA springboot如何開啟倆端口

    JAVA springboot如何開啟倆端口

    這篇文章主要介紹了JAVA springboot如何開啟倆端口問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Java之Class.forName()用法案例詳解

    Java之Class.forName()用法案例詳解

    這篇文章主要介紹了Java之Class.forName()用法案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-09-09
  • MyBatis實現(xiàn)樂觀鎖和悲觀鎖的示例代碼

    MyBatis實現(xiàn)樂觀鎖和悲觀鎖的示例代碼

    在數(shù)據庫操作中,樂觀鎖和悲觀鎖是兩種常見的并發(fā)控制策略,本文主要介紹了MyBatis實現(xiàn)樂觀鎖和悲觀鎖的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • Java 獲取當前時間及實現(xiàn)時間倒計時功能【推薦】

    Java 獲取當前時間及實現(xiàn)時間倒計時功能【推薦】

    這篇文章主要介紹了Java 獲取當前時間及實現(xiàn)時間倒計時功能 ,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • 解決mapper.xml中resultType映射類型的問題

    解決mapper.xml中resultType映射類型的問題

    這篇文章主要介紹了解決mapper.xml中resultType映射類型的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 利用Spring?boot+LogBack+MDC實現(xiàn)鏈路追蹤

    利用Spring?boot+LogBack+MDC實現(xiàn)鏈路追蹤

    這篇文章主要介紹了利用Spring?boot+LogBack+MDC實現(xiàn)鏈路追蹤,MDC?可以看成是一個與當前線程綁定的哈希表,可以往其中添加鍵值對,下文詳細介紹需要的小伙伴可以參考一下
    2022-04-04

最新評論

长葛市| 甘洛县| 体育| 西宁市| 万盛区| 五原县| 舟山市| 平阴县| 威信县| 温泉县| 柳林县| 宁蒗| 左权县| 桦甸市| 杭锦旗| 翁牛特旗| 怀宁县| 青浦区| 苏尼特右旗| 淳安县| 万全县| 吉木萨尔县| 赞皇县| 乌拉特后旗| 浦江县| 四平市| 闵行区| 乃东县| 竹山县| 和林格尔县| 蒙城县| 新竹县| 迁安市| 桃江县| 东光县| 余庆县| 东丰县| 中宁县| 巴南区| 柳林县| 田东县|