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

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

《游戲編程模式》筆記——單例模式

2023-09-05 18:56 作者:黑白色的楓  | 我要投稿

單例模式

單例模式就是說一個類有且只有一個對象。

這個類會把構造函數(shù)私有化,自己創(chuàng)建自己的實例,并提供給外部。

靜態(tài)的instance保存了類的實例,私有的構造函數(shù)保證了實例的唯一,Instance提供給了外部任意位置訪問實例的方式。

好處

節(jié)省了一點性能,如果沒有人用,就不會創(chuàng)建實例。

只在運行時實例化,相比靜態(tài)成員在main函數(shù)運行前的自動初始化,懶漢模式的延遲加載都會在運行后盡可能晚的初始化,使單例成員之間的相互依賴更加可靠。

可以被繼承,這使得單例模式的使用方式更加靈活一些。除了作為父類,讓子類更容易實現(xiàn)單例外,也可以在父類調用實例的時候根據(jù)情況返回不同的子類對象。

壞處

增加耦合,因為隨處都可以調用,單例類的使用可能會遍布整個項目的代碼。

懶加載可能會導致在不想要的地方增加性能消耗,懶加載的實例化的時間點是未知的,可能會在正在進行大量計算的時間點進行初始化,加重了性能消耗。

最后

不要濫用單例模式,考慮清楚是否需要單例類,有可能只需要靜態(tài)函數(shù)就能解決的問題,就不要做成單例模式了。

也可以嘗試合并單例類,將一些小的管理類歸屬到一個大的管理類中。

Mono單例

這是一個簡單的MonoBehaviour單例的父類。

私有化instance并且在Awake階段判斷是否已有實例,如果沒有實例,第一個實例就成為這個單例的唯一實例,并且場景切換時不銷毀。后續(xù)重復創(chuàng)建的實例都會銷毀自己保證實例的唯一性。


參考

《游戲編程模式》

《游戲編程模式》筆記——單例模式的評論 (共 條)

分享到微博請遵守國家法律
嘉义市| 化隆| 微山县| 清徐县| 阿鲁科尔沁旗| 舒城县| 淮南市| 新民市| 清苑县| 敦煌市| 哈巴河县| 定安县| 磐安县| 建平县| 勃利县| 屯门区| 电白县| 秦皇岛市| 万年县| 苏尼特左旗| 临漳县| 澄迈县| 定边县| 天长市| 舟曲县| 来安县| 星子县| 定日县| 建德市| 西充县| 临邑县| 泾源县| 瓦房店市| 嵊泗县| 青川县| 清河县| 全椒县| 延寿县| 邹城市| 南乐县| 吉隆县|