c 設計模式

2021-09-27 04:07:50 字數 1537 閱讀 8649

整個程序,僅能建立乙個類變數

class a

//析構函式私有化

static a *m_pa; //單例記錄變數

class adispoes //m_pa 自動釋放變數

}};public:

static a *geta() //獲取單例指標

return m_pa;

}};a* a::m_pa = null; //靜態變數賦值

將類介面封裝,將呼叫者安排的明明白白!

#ifndef __api_hpp__

#define __api_hpp__

#include #include //公開介面的類

class api

;//實現邏輯的類 one 不公開介面

class implone : public api

};//實現邏輯的類 two 不公開介面

class impltwo : public api

};#endif

#ifndef __semple_factory_hpp__

#define __semple_factory_hpp__

/*簡單工廠 semple factory

對類進行封裝,把呼叫者安排的明明白白!

此專案,安排呼叫者呼叫 implone 或 impltwo 任意乙個類

*/#include "api.h"

#include typedef void* (*constructor)(); //防函式 用來記錄 類建立函式

//用來記錄 類建立函式

class cobjectfactory

static void* createclass(std::string classname)

private:

inline static std::map& constructors() };

//工廠類

class factory

};//巨集原型

//class implonehelper

////

// //建立函式

// static void* createrobjectfunc()

// //};

//註冊指定 類的 建立函式

#define reg_class(class_name) \

class class_name##helper\

\ static void* createrobjectfunc()\

\};\

class_name##helper class_name##helper;

#endif

#include "semplefactory.h"

//註冊 建立函式

reg_class(implone);

reg_class(impltwo);

int main()

C設計模式,C 設計模式解說文件

個人引用了知乎上面一位的回答 遂感覺暫時沒有接觸設計模式的必要,於是將手頭上的資源寫成部落格權當收藏 學習設計模式的乙個弊端是 我們學習的時候看到的只是結果,並不了解過程和動機,也就是其他人在什麼樣的情況下做出這樣的設計,而這個恰恰是各種教程 資料上學習不到的。我自己在經歷了2年的應用設計模式的摸索...

C 設計模式

c 設計模式大體上講分為三類,即 建立模式,結構模式和行為模式 建立模式 單例模式 工廠模式 抽象工廠模式 生成器模式 原型模式。結構模式 介面卡模式 橋接模式 組成模式 裝飾模式 外觀模式 享元模式 模式。行為模式 中介者模式 命令模式 備忘錄模式 狀態模式 策略模式 直譯器模式 迭代器模式 觀察...

C 設計模式

c 設計模式 課程目標 理解松耦合設計思想 掌握物件導向設計原則 掌握重構技法改善設計 掌握gof 核心設計模式 什麼事設計模式 每乙個模式描述了乙個在我們周圍不斷重 生的問題以及該問題的解決方案的核心。這樣,你就能一次又一次的 使用該方案而不必做重複勞動 gof設計模式 歷史性著作 設計模式 可復...