unity-单例模式
生活随笔
收集整理的這篇文章主要介紹了
unity-单例模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
unity單例模式-目錄
什么是單例模式
優點
缺點
例子
什么是單例模式
單例模式是一種常用的軟件設計模式,指一個類只有一個實例,且提供一個全局訪問的屬性訪問此單例。
那么在使用單例模式前我們要思考怎么獲得一個實例?我們如果要在一個C#腳本中訪問另外一個腳本,我們要在獲取實例的時候就創建它,如果要在多個腳本中調用那么實例對象的創建和銷毀將非常頻繁,會占用大量的系統資源。
單例就可以解決這方面的問題,單例模式可以直接創建一個實例來全局調用,相當是一個全局共享的類,節省系統的資源。
優點
- 可以有效的減少內存開支,單例模式只有一個實例,避免頻繁的創建和銷毀對象,節省系統的資源
- 方便調用,共享資源,因為創建了一個全局共享的類
- 避免資源重復,例如一個寫文件操作,由于只有一個實例存在內存中,避免對同一個資源文件的同時寫操作
缺點
- 單例模式一般沒有接口,他要想實現擴展十分困難
- 所有的類都可以訪問,會造成類的關系混亂
- 造成代碼臃腫,減低代碼的可讀性,可靠性
注:在項目要減少類對單例類的依賴,提高代碼質量
腳本實例
游戲中GameManager通常要使用單例模式,下面就用它為例展示一下在C#腳本單例模式怎么實現
using System.Collections; using System.Collections.Generic; using UnityEngine;public class GameManager : MonoBehaviour {public static GameManager instance;private void Awake(){if(instance!=null){Destroy(gameObject);}instance = this;} }總結
以上是生活随笔為你收集整理的unity-单例模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我们为什么用GO语言来做区块链?
- 下一篇: 翟佳:高可用、强一致、低延迟——Book