溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Java設(shè)計(jì)模式之單例模式如何實(shí)現(xiàn)

發(fā)布時(shí)間:2021-08-07 14:10:21 來(lái)源:億速云 閱讀:266 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹Java設(shè)計(jì)模式之單例模式如何實(shí)現(xiàn),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

一、場(chǎng)景描述

在采集到儀器數(shù)據(jù)后,需要將數(shù)據(jù)發(fā)送到lims系統(tǒng)中,通過(guò)調(diào)用lims系統(tǒng)服務(wù)實(shí)現(xiàn)數(shù)據(jù)的上傳。

在儀器數(shù)據(jù)采集組件中實(shí)現(xiàn)lims系統(tǒng)服務(wù)代理,該代理需要指定服務(wù)地址url,認(rèn)證信息(用戶(hù)名、密碼)。

因此創(chuàng)建該代理需要耗費(fèi)一些資源,另外該代理并不需要?jiǎng)?chuàng)建多個(gè)實(shí)例,此種情況下就可以使用單例模式,使得僅創(chuàng)建一個(gè)服務(wù)代理類(lèi)實(shí)例。

二、實(shí)現(xiàn)示例

package lims.designpatterndemo.singletondemo;

public class LimsService {
  private static String url;
  private static String username;
  private static String password;
  //
  private static LimsService service = null;
  //私有構(gòu)造函數(shù)
  private LimsService(){
    url = "http://serviceurl";
    username = "admin";
    password = "pswd";
  }
  public static LimsService getService(){
    if(service==null){
      service = new LimsService();
    }
    return service;
  }
  //
  public boolean uploadEquipmentData(String equipmentData){
    return true;
  }
}

調(diào)用示例:

package lims.designpatterndemo.singletondemo;

public class SingletonDemo {

  public static void main(String[] args) {
    boolean rst = LimsService.getService().uploadEquipmentData("");
    System.out.println(rst);
  }
}

以上是“Java設(shè)計(jì)模式之單例模式如何實(shí)現(xiàn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI