On The Road
(cond ((less 'code) (less 'bug)))
C++博客
首頁(yè)
新隨筆
聯(lián)系
聚合
管理
隨筆 - 119 文章 - 290 trackbacks - 0
博客搬家了哦,請(qǐng)移步
叫我abc
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(12)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類(lèi)
《GAME PROGRAMMING GEMS6》讀書(shū)筆記(4)
《UNIX編程藝術(shù)》讀書(shū)筆記(4)
month-flow(5)
mysql入門(mén)(3)
垃圾收集(4)
我的博客
叫我abc
博客搬家啦
搜索
積分與排名
積分 - 305324
排名 - 84
最新評(píng)論
1.?re: C++ std::fstream open mode
i'am got
--hdj
2.?re: cppcheck的使用
你好,你會(huì)使用cppcheck嗎?@robert
--wqq
3.?re: 垃圾收集的那點(diǎn)事(H)
非常感謝
--7Qing_
4.?re: 高效調(diào)用lua函數(shù)
為什么提示沒(méi)有findLuaItem這個(gè)函數(shù)?
--sdfasf
5.?re: android ndk調(diào)試知識(shí)[未登錄](méi)
博主你好,請(qǐng)問(wèn)如果沒(méi)有.so的源代碼,應(yīng)該如何進(jìn)行arm的匯編級(jí)調(diào)試呢?
--dennis
閱讀排行榜
1.?cppcheck的使用(17050)
2.?十步精通新語(yǔ)言(10688)
3.?內(nèi)存池實(shí)現(xiàn)(9901)
4.?高效調(diào)用lua函數(shù)(9261)
5.?在lua腳本中使用unicode(8233)
雜亂的設(shè)計(jì)念頭
最近寫(xiě)課程需求的時(shí)候,掌握了一些東西。盡量把膠合物集中起來(lái),放在一個(gè)模塊中,而不是零碎的分布在各處,會(huì)讓代碼看起來(lái)不那么刺眼。
舉手頭上的project。
有4個(gè)類(lèi),分別是CPlayer,IMonster,IDevice,ITerrainPortion。這4個(gè)類(lèi)代表了整個(gè)游戲邏輯(規(guī)則),邏輯的執(zhí)行通過(guò)兩兩相交碰撞來(lái)驅(qū)動(dòng)。
在最初的設(shè)計(jì)中,每一個(gè)類(lèi)都有接口對(duì)待其余3個(gè)類(lèi),也就是每一個(gè)類(lèi)都知道規(guī)則的一部分。比如代碼:
CPlayer::collid(UserDefineObj?
&
obj)
{
switch
?(obj.getType())
{
case
?MONSTER:
IMonster?
*
pm?
=
?dynamic_cast
IMonster
*>
(
&
obj);
do
?some?work?
1
;
break
;
case
?DEVICE:
case
??
}
}
根據(jù)類(lèi)型來(lái)向下轉(zhuǎn)換是很煩人的,并且不同類(lèi)型所用到的邏輯代碼也大有不同。雖然說(shuō)很想提供那么一個(gè)最高接口,給出統(tǒng)一的部署,省卻轉(zhuǎn)換,但是統(tǒng)一的部署首先是相當(dāng)難做到,并且使得每個(gè)類(lèi)的的有些行為的語(yǔ)意有些畸形。同時(shí),統(tǒng)一部署之下,只是讓接口看起來(lái)統(tǒng)一,但接口之下的實(shí)現(xiàn)確會(huì)更復(fù)雜。(完全說(shuō)不明白)
按照這種分布式的膠合,增加了各個(gè)類(lèi)型之間的耦合,因?yàn)槊總€(gè)類(lèi)型都要區(qū)別其他類(lèi)型,并執(zhí)行恰當(dāng)?shù)拇a,就先要知道其他類(lèi)型的存在。
后來(lái)想到的集中膠合,由一個(gè)類(lèi),了解所有存在的類(lèi)型,以及各個(gè)類(lèi)型之間的規(guī)則,然后在實(shí)現(xiàn)中,根據(jù)兩兩的類(lèi)型選擇合適的處理函數(shù),驅(qū)動(dòng)邏輯。而其他類(lèi)型本身,只要提供該類(lèi)驅(qū)動(dòng)邏輯時(shí)需要的方法就夠了。
。。。。
posted on 2006-09-17 19:58
LOGOS
閱讀(662)
評(píng)論(4)
編輯
收藏
引用
FeedBack:
#
re: 雜亂的設(shè)計(jì)念頭 2006-09-17 21:08
萬(wàn)連文
如果基于COM做,如果想實(shí)現(xiàn)一個(gè)頂層對(duì)象以便查詢(xún)所有需要接口,可以參考實(shí)現(xiàn)IServiceProvider接口進(jìn)行服務(wù)派送
回復(fù)
更多評(píng)論
#
re: 雜亂的設(shè)計(jì)念頭 2006-09-19 12:48
lunny
除了main中,其它的類(lèi)應(yīng)該都只知道接口
回復(fù)
更多評(píng)論
#
re: 雜亂的設(shè)計(jì)念頭 2006-09-20 14:20
Wei
Try *Abstract Factory* or "Strategy" patterns
回復(fù)
更多評(píng)論
#
re: 雜亂的設(shè)計(jì)念頭
2006-09-20 17:10
LOGOS
其實(shí)最終確定下來(lái)的念頭是,要做一個(gè)collide AI模塊,把所有麻煩的東西集中到一起。
回復(fù)
更多評(píng)論
刷新評(píng)論列表
只有注冊(cè)用戶(hù)
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
Copyright ©2025 LOGOS Powered by:
博客園
模板提供:
滬江博客
99久久成人18免费网站
|
亚洲日本va午夜中文字幕久久
|
久久精品国产清高在天天线
|
国内精品人妻无码久久久影院
|
欧美性大战久久久久久
|
久久久久久精品免费看SSS
|
国内精品久久久久影院一蜜桃
|
99久久精品国产综合一区
|
国产成人综合久久精品红
|
国产精品久久自在自线观看
|
欧美无乱码久久久免费午夜一区二区三区中文字幕
|
99久久这里只有精品
|
久久亚洲av无码精品浪潮
|
久久亚洲AV成人无码国产
|
久久国产精品偷99
|
国产精品久久久久久久
|
老男人久久青草av高清
|
狠狠色伊人久久精品综合网
|
欧洲人妻丰满av无码久久不卡
|
久久天天日天天操综合伊人av
|
久久精品中文騷妇女内射
|
国产精品美女久久福利网站
|
丁香五月综合久久激情
|
久久久青草青青亚洲国产免观
|
少妇久久久久久被弄高潮
|
色狠狠久久综合网
|
欧美成a人片免费看久久
|
91精品日韩人妻无码久久不卡
|
国内精品久久久久影院日本
|
日韩精品久久无码中文字幕
|
久久精品国产欧美日韩99热
|
人妻少妇精品久久
|
久久久网中文字幕
|
看全色黄大色大片免费久久久
|
久久夜色精品国产www
|
国产91久久综合
|
久久久精品久久久久久
|
日韩一区二区三区视频久久
|
亚洲色欲久久久久综合网
|
一本色道久久综合狠狠躁篇
|
性欧美丰满熟妇XXXX性久久久
|