锘??xml version="1.0" encoding="utf-8" standalone="yes"?>jizzjizz国产精品久久,无码人妻久久一区二区三区免费丨,国产精品无码久久久久http://m.shnenglu.com/helloqinglan/category/14448.html韜姭鍗婁歡闀垮伐琛o紝鎬鎻d竴棰楀湴涓誨績zh-cnMon, 16 Aug 2010 20:46:59 GMTMon, 16 Aug 2010 20:46:59 GMT60C++涓亶鍘嗗鍣ㄥ璞℃椂闇瑕佹敞鎰忕殑闂http://m.shnenglu.com/helloqinglan/archive/2010/08/12/123254.html鐧戒簯鍝?/dc:creator>鐧戒簯鍝?/author>Thu, 12 Aug 2010 15:02:00 GMThttp://m.shnenglu.com/helloqinglan/archive/2010/08/12/123254.htmlhttp://m.shnenglu.com/helloqinglan/comments/123254.htmlhttp://m.shnenglu.com/helloqinglan/archive/2010/08/12/123254.html#Feedback13http://m.shnenglu.com/helloqinglan/comments/commentRss/123254.htmlhttp://m.shnenglu.com/helloqinglan/services/trackbacks/123254.html鍋囪鏈夎繖鏍蜂竴涓鐞嗗璞$殑紿楀彛 ActorManager錛屽叾瀹炵幇澶ф涓?/font>

class Actor;
class ActorManager
{
public:
void update()
{
for (actors_t::const_iterator itr = m_actors.begin(); itr != m_actors.end(); ++itr)
{
Actir* actor = itr->second;
actor->update();
}
}

void add(Actor* actor)
{
m_actors[actor->get_id()] = actor;
}

void remove(Actor* actor)
{
m_actors.erase(actor->get_id());
}

private:
typedef std::map<int, Actor*> actors_t;
actors_t m_actors;
};

 

鑰孉ctor綾葷殑瀹炵幇鏄繖鏍鳳細

class Actor
{
public:
void update()
{
// ...

}

鏈変竴澶╋紝鍦ㄧ粰Actor娣誨姞閫昏緫鐨勬椂鍊欙紝update鍑芥暟鍙樻垚浜嗚繖鏍?/font>

void update()
{
// ...

update_buff_effect();

// ...
}

 

鍐嶅線涓?/font>

 

class Actor
{
// ...

private:
void update_buff_effect()
{
// ...

apply_hp(-100);
if (get_hp() <= 0)
{
die();
return;
}

// ...
}

 

鐒跺悗……

 

private:
void die()
{
// ...

ActorManager::getInstance().remove(this);

// ...
}
鍦ㄥ啓涓婣ctorManager鐨勬椂鍊欏茍娌℃湁鎯沖埌浼氬湪update寰幆閲屽垹闄ゅ璞★紝鑰屽疄闄呬笂鍗存湁鍑犳閬囧埌綾諱技鐨勯棶棰樸?/font>
鏈変簺闂娌℃湁榪欎箞鏄庢樉錛屼絾涔熼兘鏄嚭鍦ㄩ亶鍘嗗鍣ㄥ璞$殑榪囩▼涓紝鏌愪釜鎵ц鍑芥暟鍒犻櫎浜嗙獥鍙i噷鐨勫璞★紝浠庤屽鑷磋凱浠e櫒澶辨晥銆?/font>
 
淇敼鐨勬柟娉曞緢綆鍗曪紝緇橝ctorManager娣誨姞涓涓緟鍒犻櫎瀵硅薄鍒楄〃
鍦╮emove鏂規硶涓茍涓嶇湡姝e垹闄ゅ璞★紝鑰屾槸絳夊埌update涓驚鐜粨鏉熷悗鍐嶅垹闄ゅ璞°?/font>
浠g爜鐪嬭搗鏉ヤ細鏄繖鏍鳳細
class Actor;
class ActorManager
{
public:
void update()
{
m_is_looping = true;
for (actors_t::const_iterator itr = m_actors.begin(); itr != m_actors.end(); ++itr)
{
Actir* actor = itr->second;
actor->update();
}
m_is_looping = false;

if (!m_removed_actors.empty())
{
for (removed_actors_t::const_iterator itr = m_removed_actors.begin();
itr != m_removed_actors.end(); ++itr)
{
Actor* actor = *itr;
m_actors.erase(actor->get_id());
}
m_removed_actors.clear();
}
}

void add(Actor* actor)
{
m_actors[actor->get_id()] = actor;
}

void remove(Actor* actor)
{
if (!m_is_looping)
m_actors.erase(actor->get_id());
else
m_removed_actors.push_back(actor);
}

private:
typedef std::map<int, Actor*> actors_t;
actors_t m_actors;

typedef std::vector<Actor*> removed_actors_t;
removed_actors_t m_removed_actors;
bool m_is_looping;
};

 

娌℃湁緇檃dd涔熷姞淇濇姢鐨勫師鍥犳槸錛屼笉浼氬湪update鍑芥暟鍐呭悜ActorManager娣誨姞鏂板璞°?/font>

褰撶劧錛屾湁鍙兘鍦ㄥ叾浠栧湴鏂逛細鏈夎繖鏍風殑闇姹傦紝鍚屾牱涔熷仛綾諱技鐨勪繚鎶ゅ嵆鍙?/font>

 

 

闂铏界劧涓嶅ぇ錛屼絾鏄嚑嬈$鍒扮被浼肩殑閿欒浜嗐傝褰曚箣錛屽茍寮哄埗瑕佹眰鑷繁錛?/font>

鍦ㄩ亣鍒頒細瀵瑰鍣ㄥ唴鐨勫璞″仛for…澶勭悊鏃訛紝涓瀹氳璋ㄦ厧鐨勬鏌ヤ竴涓媟emove鎺ュ彛銆?/font>



]]>
Framework Design Guidelines璇諱功絎旇http://m.shnenglu.com/helloqinglan/archive/2010/08/07/122491.html鐧戒簯鍝?/dc:creator>鐧戒簯鍝?/author>Fri, 06 Aug 2010 16:19:00 GMThttp://m.shnenglu.com/helloqinglan/archive/2010/08/07/122491.htmlhttp://m.shnenglu.com/helloqinglan/comments/122491.htmlhttp://m.shnenglu.com/helloqinglan/archive/2010/08/07/122491.html#Feedback0http://m.shnenglu.com/helloqinglan/comments/commentRss/122491.htmlhttp://m.shnenglu.com/helloqinglan/services/trackbacks/122491.html榪欐湰涔﹁櫧鐒舵槸璁茶堪.net妗嗘灦璁捐鐨勪竴浜涜鑼冿紝涓嶈繃浠嶇劧鏈変竴浜涢氱敤鐨勮璁″噯鍒欏彲浠ュ弬鑰?/font>

 

鍛藉悕瑙勮寖錛?/font>

榪欎簺鍙湁鍦ㄧ敤浜庡叕寮鏆撮湶緇欏鐣岀殑API鏃舵墠鏄繀闇鐨?/font>

 

鏍囪瘑絎﹀ぇ灝忓啓瑙勫垯錛?/font>

1.瑕佹妸PascalCasing鐢ㄤ簬鐢卞涓崟璇嶆瀯鎴愮殑鍚嶅瓧絀洪棿錛岀被鍨嬩互鍙婃垚鍛樼殑鍚嶅瓧

2.瑕佹妸camelCasing鐢ㄤ簬鍙傛暟鐨勫悕瀛?/font>

3.涓嶈鎶婇棴鍚堝艦寮忕殑澶嶅悎璇嶄腑姣忎釜鍗曡瘝鐨勯瀛楁瘝澶у啓錛屾瘮濡?callback, endpoint 絳夌瓑錛屽彲浠ユ煡闃呰嫳璇瘝鍏告潵紜畾澶嶅悎璇嶆槸涓嶆槸闂悎鐨?/font>

4.涓嶈浣跨敤鍖堢墮鍒╁懡鍚嶆硶銆傚師鍥犳湁鍑犵偣錛屼竴鏄彂鏄庡畠鐨刴s鍏徃閮藉凡緇忔槑紜姹傚湪鏂扮殑搴撳湪涓嶈浣跨敤榪欑鍛藉悕娉曪紝浜屾槸鍙橀噺鍚嶅墠鍔犵被鍨嬫爣璇嗙鏄釜寰堜笉濂界殑涔犳儻錛屽湪寮鍙戣繃紼嬩腑鏈夊彲鑳戒細闅忔椂淇敼榪欎簺鍙橀噺鐨勭被鍨嬪畾涔夛紝涓夋槸鏂扮殑緙栬緫鍣ㄤ腑涓嶉渶瑕佺敤m_鍓嶇紑鏉ョ‘瀹氬叾綾誨瀷錛屼笉榪囧浜庡唴閮ㄥ疄鐜扮殑鍙橀噺鏉ヨ錛岀敤涓涓墠緙涔熻浼氳鍙橀噺鐨勬煡鎵炬洿鏂逛究錛屾瘮濡傜敤涓涓猒鍓嶇紑

5.涓嶈浣跨敤鏈騫挎硾鎺ュ彈鐨勯瀛楁瘝緙╁啓璇嶏紝濡備綍紜畾鏌愪釜緙╁啓璇嶆槸鍚︿紬鎵鍛ㄧ煡鏈変釜濂芥柟娉曪紝鍒癵oogle涓婃悳绱竴涓嬶紝濡傛灉鍓嶅嚑鏉¢兘鏄綘鎵鏈熸湜鐨勫唴瀹癸紝閭d箞瀹冨氨鏄紬鎵鍛ㄧ煡鐨勪簡

 

鍏充簬鍛藉悕錛?/font>

1.瑕佺敤鍚嶈瘝鎴栧悕璇嶇煭璇潵緇欑被鍜岀粨鏋勪綋鍛藉悕錛屼嬌鐢≒ascalCasing鐨勫ぇ灝忓啓椋庢牸錛岀被鍚嶅瓧涓嶈鍔?C錛屼絾鏄帴鍙e墠闇瑕佸姞 I錛岃繖鏄釜鐗逛緥

2.鐢ㄥ艦瀹硅瘝鐭鏉ョ粰鎺ュ彛鍛藉悕錛屽湪灝戞暟鎯呭喌涓嬩篃鍙互浣跨敤鍚嶈瘝鎴栧悕璇嶇煭璇?/font>

3.鑰冭檻鍦ㄦ淳鐢熺被鐨勬湯灝句嬌鐢ㄥ熀綾葷殑鍚嶅瓧錛屾瘮濡?class FileStream : public Stream

4.鐢ㄥ姩璇嶆垨鍔ㄨ瘝鐭鏉ュ懡鍚嶆柟娉曪紝姣斿 int CompareTo();

5.瑕佺敤鑲畾鎬х殑鐭(CanSeek鑰屼笉鏄疌antSeek)鏉ュ懡鍚嶅竷灝斿睘鎬э紝鍙互鍔營s,Can,Has絳夊墠緙錛岃紜繚浣跨敤鏃剁殑嫻嬭瘯璇彞璇昏搗鏉ラ氶『錛屾瘮濡?/font>

if (collection.Contains(item)) 灝辨瘮 if (collection.IsContained(item)) 瑕侀氶『寰楀

姝ゅ錛岃浼樺厛閫夋嫨涓誨姩璇佽屼笉鏄鍔ㄨ鎬侊紝姣斿

if (stream.CanSeek()) 灝辨瘮 if (steam.IsSeekable()) 瑕佸己寰楀

6.瑕佺敤鐜板湪鏃跺拰榪囧幓鏃舵潵璧嬩簣浜嬩歡鍚嶄互涔嬪墠鍜屼箣鍚庣殑姒傚康錛屼笉瑕佺敤Before鎴朅fter榪欐牱鐨勫墠鍚庣紑錛屾瘮濡?Closing, Closed鑰屼笉鏄疉fterClose

 

浣跨敤瑙勮寖錛?/font>

1.浼樺厛浣跨敤闆嗗悎錛岄伩鍏嶄嬌鐢ㄦ暟緇?/font>

2.鑰冭檻浣跨敤涓嶈鍒欐暟緇勶紝鑰屼笉瑕佷嬌鐢ㄥ緇存暟緇勶紝涔熷氨鏄紭鍏堜嬌鐢╥nt [][] jagedArray榪欐牱鐨勬暟緇勶紝閬垮厤浣跨敤 int [,] multiDimArray榪欐牱鐨勭被鍨?/font>

3.瑕佺敤鏈娉涚殑綾誨瀷鏉ヤ綔涓哄弬鏁扮被鍨嬶紝澶у鏁頒互闆嗗悎涓哄弬鏁扮殑鎴愬憳閮戒嬌鐢↖Enumerable<T> 鎺ュ彛



]]>
亚洲精品无码久久久久久| 77777亚洲午夜久久多喷| 免费观看成人久久网免费观看| 亚洲国产精品无码久久久蜜芽| 久久久噜噜噜久久中文字幕色伊伊| 久久国产香蕉视频| 99久久国产综合精品网成人影院| 久久久久夜夜夜精品国产| 国产亚洲精久久久久久无码AV| 久久福利片| 午夜精品久久久久久久久| 蜜臀av性久久久久蜜臀aⅴ| 9久久9久久精品| 九九久久精品无码专区| 成人综合久久精品色婷婷| 国内精品综合久久久40p| 国产日产久久高清欧美一区| 久久国产三级无码一区二区| 三上悠亚久久精品| 狠狠人妻久久久久久综合| 久久久无码精品亚洲日韩蜜臀浪潮| 久久66热人妻偷产精品9| 久久精品国产一区二区| 亚洲AV日韩精品久久久久久| 久久97精品久久久久久久不卡| 亚洲а∨天堂久久精品9966| 久久亚洲精精品中文字幕| 国内精品久久久久久久涩爱| 亚洲国产精品18久久久久久| 日本一区精品久久久久影院| 无码精品久久久天天影视| 久久久久国产亚洲AV麻豆| 精品久久久久久无码中文字幕一区 | 久久一区二区三区免费| 国产成人精品久久二区二区| 人人妻久久人人澡人人爽人人精品 | 久久久久人妻一区精品果冻| 777米奇久久最新地址| 久久亚洲精精品中文字幕| 欧美激情一区二区久久久| 久久99精品国产麻豆婷婷|