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

歡迎光臨散文網(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)建的實例都會銷毀自己保證實例的唯一性。


參考

《游戲編程模式》

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

分享到微博請遵守國家法律
班玛县| 雅江县| 苏尼特左旗| 朔州市| 肇州县| 静安区| 安徽省| 朝阳区| 大姚县| 平陆县| 通许县| 金秀| 泰宁县| 从化市| 博爱县| 太康县| 隆昌县| 锡林郭勒盟| 尼木县| 浏阳市| 兴业县| 贡山| 江源县| 济宁市| 昌黎县| 桑日县| 旅游| 新干县| 东丰县| 左权县| 会昌县| 江达县| 溧阳市| 隆回县| 博乐市| 凭祥市| 麻阳| 万源市| 松阳县| 平乡县| 上饶县|