您好,登錄后才能下訂單哦!
這篇文章主要介紹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è)資訊頻道!
免責(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)容。