舉手頭上的project。
有4個類,分別是CPlayer,IMonster,IDevice,ITerrainPortion。這4個類代表了整個游戲邏輯(規(guī)則),邏輯的執(zhí)行通過兩兩相交碰撞來驅(qū)動。
在最初的設(shè)計(jì)中,每一個類都有接口對待其余3個類,也就是每一個類都知道規(guī)則的一部分。比如代碼:



















按照這種分布式的膠合,增加了各個類型之間的耦合,因?yàn)槊總€類型都要區(qū)別其他類型,并執(zhí)行恰當(dāng)?shù)拇a,就先要知道其他類型的存在。
后來想到的集中膠合,由一個類,了解所有存在的類型,以及各個類型之間的規(guī)則,然后在實(shí)現(xiàn)中,根據(jù)兩兩的類型選擇合適的處理函數(shù),驅(qū)動邏輯。而其他類型本身,只要提供該類驅(qū)動邏輯時(shí)需要的方法就夠了。
。。。。