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