兩種單例設計模式

2021-09-25 18:18:17 字數 840 閱讀 8127

設計模式是在大量的實踐中總結和理論化之後優選的**結構、程式設計風格、以及解決問題的思考方式。設計模式就像是經典的棋譜,不同的棋局,我們用不同的棋譜,免去我們自己再思考和摸索。

所謂類的單例設計模式,就是採取一定的方法保證在整個的軟體系統中,對某個類只能存在乙個物件例項,並且該類只提供乙個取得其物件例項的方法。如果我們要讓類在乙個虛擬機器中只能產生乙個物件,我們首先必須將類的構造方法的訪問許可權設定為private,這樣,就不能用new操作符在類的外部產生類的物件了,但在類內部仍可以產生該類的物件。因為在類的外部開始還無法得到類的物件,只能呼叫該類的某個靜態方法以返回類內部建立的物件,靜態方法只能訪問類中的靜態成員變數,所以,指向類內部產生的該類物件的變數也必須定義成靜態的。

1.懶漢式

class singleton

//2.先宣告類的引用,配合static方法,用static修飾此類的引用

private static singleton instance = null;

//3.設定公共方法來訪問類的例項

public static singleton getinstance()

return instance;

}}

2.餓漢式

class singleton

//私有的,只在類的內部訪問

private static singleton instance = new singleton();

//getinstandce()為static,不用建立物件即可訪問

public static singleton getinstance()

}

兩種單例模式

一。單例模式 有以下的特點 eg。每台計算機可以有若干通訊埠,系統應當集中管理這些通訊埠,以避免乙個通訊埠同時被兩個請求同時呼叫。為了避免不一致狀態 1 單例類只能有乙個例項。2 單例類必須自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。1 懶漢式單例 singleton通過將構造...

單例設計模式的兩種情況

單例設計模式。餓漢式。class singledemo public static singledemo getsingledemoinstance 延遲載入的單例設計模式例項 懶漢式 特點 用於例項的延遲載入 缺點 多執行緒訪問時,會出現安全問題.解決方式 用同步 塊或同步方法,不過效率低.用雙重...

單例模式兩種寫法

單例模式 懶漢式單例 package com.b 單例模式 懶漢式單例 類的例項在第一次被訪問時才建立 author zhangli public class singletontest1 private static singletontest1 classinstance null 靜態工廠方法...