C 設計模式 (單例模式)

2021-06-22 06:04:12 字數 893 閱讀 5445

單例模式:顧名思義,只有乙個物件例項,即保證乙個類只有乙個物件可以使用。作用類似於乙個全域性變數,可以任意呼叫,但是比全域性變數更容易管理,使用。

單例模式也有很多種實現方式:

第一種實現方法

.h檔案

class csock_test : public casyncsocket

;

.cpp檔案

// csock_test

csock_test * csock_test::m_psockinstance = null;

csock_test::csock_test()

csock_test::~csock_test()

csock_test * csock_test::getsockinstance()

return m_psockinstance;

}void csock_test::realeasesock()

}

客戶端通過呼叫getsockinstance()方法獲得該類的例項指標m_psockinstance。由於該類的建構函式是私有的,因此無論什麼時候在該類外部建立類的物件都會失敗,例如,csock_test *test = new csock_test(),這個就會報錯,因為無法呼叫建構函式。

第一次呼叫getsockinstance()方法時,會建立乙個新的物件,之後每次呼叫則會返回第一次呼叫時建立的物件指標。

用法:

csock_test *m_single = csock_test::getsockinstance();

m_single->send(...);//呼叫該類中的方法

第二種方法

待續:

設計模式 C 設計模式 單例模式

設計模式 物件導向設計七大原則 設計模式 設計模式概念和分類 設計模式 c 設計模式 單例模式 設計模式 c 設計模式 工廠方法模式 設計模式 c 設計模式 抽象工廠模式 設計模式 c 設計模式 建造者模式 設計模式 c 設計模式 原型模式 作者自用的泛型單例模組 單例模式 singleton pa...

設計模式 單例模式(c )

在gof 設計模式 中,單例模式的定義為 保證乙個類僅有乙個例項,並提供乙個該例項的全域性訪問點。下面是單例模式的c 實現 方案一 建構函式和拷貝建構函式一定要宣告為private 定義static成員 單例指標和獲取單例指標的函式 static單例指標要在類外定義並初始化 實現獲取單例指標的函式時...

c 設計模式 單例模式

第一種最簡單,但沒有考慮執行緒安全 public class singleton public static singleton createinstance return instance 第二種考慮了執行緒安全,不過有點煩,但絕對是正規寫法,經典的一叉 public class singleto...