无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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


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

分享到微博請遵守國家法律
岱山县| 罗平县| 兰州市| 昌图县| 彰化县| 新安县| 武邑县| 大关县| 汉中市| 聊城市| 黄梅县| 濮阳市| 县级市| 清镇市| 涞水县| 南京市| 绥宁县| 墨竹工卡县| 绥化市| 廉江市| 商都县| 临朐县| 嘉禾县| 哈密市| 上杭县| 内黄县| 延庆县| 神农架林区| 缙云县| 九江县| 木兰县| 冷水江市| 高阳县| 藁城市| 平和县| 开封市| 广宁县| 安阳县| 安泽县| 孝义市| 博乐市|