五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

《游戲編程模式》筆記——子類沙箱

2023-09-13 04:23 作者:黑白色的楓  | 我要投稿

意圖

用一系列由基類提供的操作定義子類中的行為。

模式

基類定義抽象的沙箱方法和幾個提供的操作。 將操作標(biāo)為protected,表明它們只為子類所 使用。 每個推導(dǎo)出的沙箱子類用提供的操作實現(xiàn)了沙箱函數(shù)。


實際上,子類沙箱的主要目的是減少子類與其他系統(tǒng)的代碼的耦合,將這些耦合轉(zhuǎn)移和集中到到基類中,由基類提供通用的行為給子類使用。

設(shè)計決策

應(yīng)該提供什么操作?

如果提供的操作只被一個或幾個子類使用,將操作加入基類的收益不會太多。

當(dāng)調(diào)用其他地方的方法,并且沒有修改狀態(tài)就有更少的干擾,屬于“安全的”耦合。

如果操作知識提供了外部系統(tǒng)的轉(zhuǎn)發(fā)調(diào)用,這樣的代碼價值也比較低,除非這些方法接觸了不想暴露給子類的狀態(tài)。

方法應(yīng)該直接提供,還是包在對象中提供?

例如我們不應(yīng)該直接在角色的基類中去調(diào)用音頻組件播放聲音,而是通過音頻系統(tǒng)提供的函數(shù)來播放聲音,由音頻系統(tǒng)通過函數(shù)接受的參數(shù)去使用音頻組件播放指定的聲音。


《游戲編程模式》筆記——子類沙箱的評論 (共 條)

分享到微博請遵守國家法律
利津县| 夏津县| 三门县| 房产| 盖州市| 禄劝| 阿克苏市| 桦川县| 井陉县| 交城县| 镇安县| 六枝特区| 东宁县| 二连浩特市| 西乡县| 光山县| 印江| 深泽县| 甘孜县| 高淳县| 乐至县| 旌德县| 西林县| 阜南县| 渝中区| 任丘市| 东辽县| 来安县| 西昌市| 仁寿县| 荣成市| 来凤县| 铅山县| 荥经县| 赤峰市| 精河县| 乌拉特中旗| 曲沃县| 山阳县| 晋州市| 昌乐县|