OGRE中的STL和單件設計模式

2021-04-22 01:47:35 字數 717 閱讀 9325

單件設計模式:保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。單件設計模式在ogre中使用還是比較頻繁的,管理日誌的logmanager,還有skeletonmanager等管理器,就連root也使用了這種設計模式。分析ogre的使用,發現這種設計模式是很簡單的,如下:

template class singleton

~singleton( void )

static t& getsingleton( void )

static t* getsingletonptr( void )};}

接下來只要繼承這個模板類並且過載getsingleton(),getsingletonptr(),確實很方便,不是麼^_^

stl就更不用說了,沒有stl,ogre恐怕就不是現在這個樣子,說到這裡,我對ogre採用的stl命名法並不贊同,舉個例子:

typedef std::map> loglist;   

這是乙個map,卻命名為loglist,stl內含list容器,很容易混淆,混淆的還在後面

typedef std::vectorloglistenerlist;

明明是個vector,卻命名為loglistenerlist,如果整個工程統一使用這一風格,還可以接受,但下面這句就違反了

typedef std::vectorstringvector;

這裡使用了vector命名stringvector,我個人對這種命名比較認可,一目了然

JAVA中的單例設計(Singleton)模式

一 單例模式有以下特點 1 單例類只能有乙個例項。2 單例類必須自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。二 懶漢式 懶漢式單例類 在第一次呼叫的時候例項化自己 public class singleton private static singleton single nu...

Android原始碼中的設計模式1 單例模

1 單例模式 實現方式簡單,應用也最為廣泛的一種設計模式。解決的問題 保證乙個類在記憶體中的物件唯一性。比如 多程式讀取乙個配置檔案時,建議配置檔案封裝成物件。會方便操作其中資料,又要保證多個程式讀到的是同乙個配置檔案物件,就需要該配置檔案物件在記憶體中是唯一的。像資料庫操作等,jdbc。那麼,如何...

設計模式及在Android中的應用 單例模式

確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這樣做有以下幾個優點 對於那些比較耗記憶體的類,只例項化一次可以大大提高效能,尤其是在移動開發中 保持程式執行的時候該中始終只有乙個例項存在記憶體中 有如下經典的實現方式 public class singleton public s...