小白理解的單例模式(通俗易懂)

2021-10-03 18:32:40 字數 1091 閱讀 6335

1、單例模式:是一種常用的軟體設計模式,屬於建立型模式的一種。在應用這個模式時,單例物件的類必須保證只有乙個例項存在。

2、實現單例模式的思路是:乙個類能返回物件乙個引用(永遠是同乙個)和乙個獲得該例項的方法(必須是靜態方法,通常使用getinstance這個名稱);當我們呼叫這個方法時,如果類持有的引用不為空就返回這個引用,如果類保持的引用為空就建立該類的例項並將例項的引用賦予該類保持的引用;同時我們還將該類的建構函式定義為私有方法,這樣其他處的**就無法通過呼叫該類的建構函式來例項化該類的物件,只有通過該類提供的靜態方法來得到該類的唯一例項。(維基百科)

3、實現方式

(1)懶漢式:執行緒不安全(一直等到物件例項化的時候才會建立,反映稍慢一些,而且在多執行緒不能正常工作。在多執行緒訪問的時候,很可能會造成多次例項化,就不再是單例了。)

**:class singleton

public static singleton getinstance()

public static synchronized singleton getinstance()

private   final static singleton instance = new singleton ();

public static singleton getinstance()

private static singleton instance;

static

public static singleton getinstance()

private static class singletoninstance{

private static final singleton instance = new singleton();

public static singleton getinstance(){

return singletoninstance.instance;

(7)列舉:而且無償地提供了序列化機制,並由jvm從根本上提供保障,絕對防止多次例項化,是更簡潔、高效、安全的實現單例的方式

**:enum singleton{

instance;//屬性

public void method(){

通俗易懂的理解MVC模式

mvc由view檢視,controller控制器,model模型三部分組成。當使用者與view進行互動的時候,會觸發view的一些事件,這些事件會被controller模組監聽到,controller會根據不同的使用者事件去呼叫model層的一些介面,通過這些介面修改model層的資料。在之前vie...

設計模式之單例模式(通俗易懂,超詳細)

簡單來說單例模式就是指在記憶體中只會建立且僅建立一次物件的設計模式,當程式中其他地方需要使用到該物件的相同功能時,都會呼叫建立好的這乙個,不會再額外建立例項,這樣做的好處就是避免過多的建立相同作用的物件使得記憶體浪費。在單例模式中主要分為兩類,分別是懶漢式和餓漢式 懶漢式 在程式呼叫時才建立例項 餓...

通俗易懂理解建造者模式

當乙個產品的構建過程是固定且複雜多變的,則可以將該產品的構建過程抽象出來。從乙個簡單的例子出發 比如 組裝一台電腦,你一定需要有cpu 主機板 記憶體 硬碟以及io外設。而每個部分你都可以選擇不同的型別 cpu可以是arm或者intel,記憶體可以是臺電的或是三星的等等。這樣的話,如果將構建電腦的過...