一、场景描述
在采集到仪器数据后,需要将数据发送到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); } }