Cocos2dx幾種設計模式之三
首先明確一個問題,什麼是管理者模式,管理類是用來管理一組相關物件的類,他提供了訪問物件的介面,如果這麼說比較抽象的話,我們來看下cocos2dx中都有哪些類是管理類你就會很明白了,例如TextureCache, SpriteFrameCache, AnimationCache,這些類都是管理類。就拿SpriteFrame來說,這個類管理了物件spriteframe,我們通過提供一個鍵來獲得對應的值,像AnimationCache,TextureCache不都是這樣嗎,用一個鍵來獲取對應的值。所以這些類都叫做管理類,因為他們管理著一組相關的物件。之所以使用管理者模式一個是因為為訪問相關物件提供了統一的介面,另一個就是快取遊戲用到的資源,提高遊戲的效能,以上的三個類不正是這樣的作用嗎,以下是實現這個模式的程式碼。
1 |
#ifndef
_MANAGER_PATTERN_H_ |
2 |
#define
_MANAGER_PATTERN_H_ |
3 |
#include
"cocos2d.h" |
4 |
5 |
USING_NS_CC; |
6 |
7 |
class ManagerPattern |
8 |
{ |
9 |
public : |
10 |
static ManagerPattern
* getInstance() |
11 |
{ |
12 |
if (m_manager
== NULL) |
13 |
{ |
14 |
m_manager
= new ManagerPattern(); |