单例模式

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 }

     

posted @ 2025-06-11 21:02  mdyyyds_blog  阅读(22)  评论(0)    收藏  举报