/*
設計模式:解決某一種問題的思想。是一種行之有效的解決方式。
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...