五月天青色头像情侣网名,国产亚洲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ù)去使用音頻組件播放指定的聲音。


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

分享到微博請遵守國家法律
章丘市| 延安市| 普兰县| 佳木斯市| 休宁县| 林芝县| 阿拉善左旗| 蓬安县| 德江县| 日土县| 正定县| 疏附县| 海伦市| 三原县| 安国市| 盐城市| 莱西市| 安宁市| 长武县| 阿拉善盟| 永福县| 新疆| 余庆县| 松原市| 军事| 西平县| 农安县| 会泽县| 内江市| 梁河县| 裕民县| 灵丘县| 汝城县| 静海县| 乐业县| 高邑县| 古丈县| 屏东市| 且末县| 米林县| 兴隆县|