物件導向之單例設計模式

2021-07-13 21:02:16 字數 1097 閱讀 4681

/*

設計模式:解決某一種問題的思想。是一種行之有效的解決方式。

23種模式。

單例設計模式。

思想!思想!思想!

解決問題:能夠保證乙個類的物件在記憶體中的唯一性。

應用場景:多個成序都在操作同乙個配置檔案時,程式b需要知道程式a的結果並基於此結果進行後續操作

前提是,資料都儲存在配置檔案的物件中,要求程式a和程式b操作的配置檔案物件是同乙個。

怎麼實現呢?怎麼保證這個類只產生乙個物件呢?

思路: 1.問題是其他程式可以通過new來建立物件,無法控制數量;

所以,不能讓其他程式new物件!!!

2.如果不讓程式new物件,那麼其他程式就沒有物件了,無法呼叫資料。

所以,在本類中在積極new乙個物件,不讓其他程式new,控制物件的數量。

3.然後對外提供讓其他程式呼叫該物件的方式。

步驟:1.怎麼不讓其他程式new該類的物件?

可以將類中的建構函式私有化;

2.在本類中new物件;

3.定義乙個方法返回該物件。

**體現:

*/class single

//定義乙個方法返回物件。讓其他程式可以獲取到。

static single getinstance() //getinstance一般為固定寫法,因為外部沒有物件所以方法用static修飾!!!

}class designdemo

}

記憶體體現

例子

class superman

private

static string name;

public

static superman getinstance()

public

void

setname(string name)

public string getname()

}public

class singledemo

}

物件導向 單例設計模式

單例設計模式 就是保證該類在程式中只能存在乙個物件,所以不能讓別人例項化該類,所以要私有化 private 該類的建構函式,但是你要為別人提供乙個該類的唯一物件,所以你要在該類中定義乙個靜態的方法返回本類物件。設計模式 解決某一問題最行之有效的方法 單例設計模式 解決乙個類在記憶體只存在乙個物件 想...

物件導向 單例設計模式

單例設計模式 就是保證該類在程式中只能存在乙個物件,所以不能讓別人例項化該類,所以要私有化 private 該類的建構函式,但是你要為別人提供乙個該類的唯一物件,所以你要在該類中定義乙個靜態的方法返回本類物件。設計模式 解決某一問題最行之有效的方法 單例設計模式 解決乙個類在記憶體只存在乙個物件 想...

物件導向設計模式之Singleton單例模式

動機 在軟體系統中,經常有這樣的一些特殊的類,必須保證它們在系統中 只存在乙個例項,才能確保它們的邏輯正確性 以及良好的效率 意圖 保證乙個類僅有乙個例項,並提供乙個該例項的全域性訪問點 uml圖 示例 using system using system.collections.generic us...