設計者模式 單例模式學習

2021-08-19 20:07:32 字數 1065 閱讀 6949

單例模式是一種物件建立模式,它用於產生乙個物件的具體例項,它可以確保系統中的乙個類只產生乙個例項。

在面試中經常會遇到,手寫一種單例模式實現方式,而單例的實現方式有:懶漢式、餓漢式、執行緒安全式、雙重檢查式和靜態內部類方式,為了便於學習記憶記錄一下。

需要時建立乙個例項,所以第乙個是執行緒不安全的

public class lazysingleton //無參構造

public static lazysingleton getmlazysingleton()

return mlazysingleton;

}}

這個方式中同步了整個safesingleton.getmsafesingleton方法,保證了執行緒安全

public class safesingleton //無參構造

public static synchronized safesingleton getmsafesingleton()

return msafesingleton;

}}

public class eagersingleton 

public static eagersingleton getmeagersingleton()

}

執行緒安全式同步整個獲取單例的方法會浪費很多效能,雙重檢查式區別在初次建立時才會同步

public class doublechecksingleton 

public static doublechecksingleton ge***oublechecksingleton()}}

return mdoublechecksingleton;

}}

public class staticsingleton 

private static class staticsingletonholder

public static final staticsingleton getinstance()

}

C 設計者模式 單例模式

單例用到鎖的定義實現 mutex.h pragma once include includeusing namespace std class imylock virtual void lock const 0 virtual void unlock const 0 class mutex publ...

設計者模式

1.單例模式 每個new出來的例項都需要有乙個相同的方法,但是這時候如果 每個例項都新建乙個這種方法,太佔據記憶體也太慢,所以在這裡有乙個重要的判斷 如果有例項,則返回例項 如果沒有例項,則建立例項,並且返回例項。例 class createuser return createuser.ins co...

設計者模式 構建者模式

一 介紹 場景 建造乙個複雜的產品。比如 神舟飛船,iphone,這個複雜的產品建立,有這樣乙個問題需要處理 裝配這些子元件,是不是有個步驟問題?實際開發中,需要的物件,在構建時,也非常複雜,有很多步驟需要處理。建造者模式的本質 分離物件子元件的單獨構造 由builder來負責 和裝配 由direc...