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

时间:2021-11-12 06:36:18

一、场景描述

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

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

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

二、实现示例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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;
  }
}

调用示例:

?
1
2
3
4
5
6
7
8
9
package lims.designpatterndemo.singletondemo;
 
public class SingletonDemo {
 
  public static void main(String[] args) {
    boolean rst = LimsService.getService().uploadEquipmentData("");
    System.out.println(rst);
  }
}

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

原文链接:http://www.cnblogs.com/mahongbiao/p/8619975.html