設計模式星火01 單例模式

2021-06-02 16:23:47 字數 655 閱讀 9636

1 用單例的時機

需要保證乙個類只有乙個例項,並且提供乙個他的全域性訪問點。

2 方法

2.1 將建構函式定義為保護型別的(使用者沒有辦法建立物件)

2.2 向類中新增兩個靜態成員(乙個靜態成員函式和乙個私有靜態成員變數)

static classname* m_pinstance;

static classname* instance()}

2 和全域性變數的比較

全域性變數雖說可以建立全域性變數,但可以建立多個物件

單例則是自身負責儲存它的唯一例項,使用者則沒有辦法例項化出物件

3 使用例項

需要對xml檔案進行多次讀寫的操作就可以用單例一次性將資料全部讀取進來,之後可以直接呼叫

(1)類定義

class creadxml

;creadxml* creadxml::instance()//單例實現的通用寫法}

(2)使用

在初始化函式中   creadxml::instance()->loadxml();

在需要獲取資料時 creadxml::instance()->getdeptinfo(...);

01 設計模式 單例模式

package com.hxh public class hungry public static hungry getinstance public static void main string args start 注意事項 變數hungry必須是 私有,靜態,不可變 構造器私有 公開的get...

01 設計模式 單例模式

package com.hxh public class hungry public static hungry getinstance public static void main string args start 注意事項 變數hungry必須是 私有,靜態,不可變 構造器私有 公開的get...

設計模式 01單例設計模式

所謂類的單例設計模式,就是採取一定的方法保證在整個軟體系統中,對某個類只能存在乙個物件例項,並且該類只提供乙個取得其物件例項的方法 靜態方法 比如hibernate中的sessionfactory,它充當的就是資料儲存源的 並負責建立session物件。sessionfactory並不是輕量級的,一...