单例模式
1、什么是单例模式?
一句话解释:
单一的类,只能自己来创建唯一的一个对象。
单例模式(Singleton Pattern)是日常开发中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有一个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
官方意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
一个比喻:(班主任与学生)
比如一个班级,只有一个班主任,任何一个同学要找班主任,都是找的同一个,班主任忙的时候,当然就出现排队的情况。
2、优缺点和使用场景
- 优点:内存里只有一个实例,减少了内存的开销,也避免了对象高频创建带来的性能损耗。
- 缺点:任务量大时,会出现排队,耗时增加。另外与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。
-
1 public class GameController : MonoBehaviour 2 { 3 //单例 4 public static GameController Instance { get; private set; } 5 private InputHandler m_inputHandler; 6 private UIManager m_uiManager; 7 8 private void Awake() 9 { 10 if (GameController.Instance !=null) 11 { 12 //如果已经有实例了,销毁此物体,防止进入一次生成一个实例 13 Destroy(gameObject); 14 return; 15 } 16 Instance = this; 17 DontDestroyOnLoad(gameObject); 18 } 19 }

浙公网安备 33010602011771号