详解Java设计模式之单例模式

一、场景描述

在采集到仪器数据后,需要将数据发送到lims系统中,通过调用lims系统服务实现数据的上传。

在仪器数据采集组件中实现lims系统服务代理,该代理需要指定服务地址url,认证信息(用户名、密码)。

因此创建该代理需要耗费一些资源,另外该代理并不需要创建多个实例,此种情况下就可以使用单例模式,使得仅创建一个服务代理类实例。

二、实现示例

package lims.designpatterndemo.singletondemo;

public class LimsService {
  private static String url;
  private static String username;
  private static String password;
  //
  private static LimsService service = null;
  //私有构造函数
  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;
  }
}

调用示例:

package lims.designpatterndemo.singletondemo;

public class SingletonDemo {

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(详解Java设计模式之单例模式)