最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ù)去使用音頻組件播放指定的聲音。


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

分享到微博請遵守國家法律
兴义市| 五莲县| 墨江| 闽侯县| 镇康县| 淮滨县| 修武县| 吉安市| 齐齐哈尔市| 垫江县| 凤台县| 巴林左旗| 阳高县| 通州市| 宝兴县| 红安县| 洛南县| 桑植县| 昌图县| 泸西县| 济南市| 大渡口区| 固镇县| 屏边| 长子县| 德昌县| 岐山县| 朔州市| 甘泉县| 綦江县| 古浪县| 安国市| 和硕县| 金门县| 武川县| 平阳县| 义乌市| 新乡县| 铁岭县| 北辰区| 西青区|