一、单例模式(Singleton Pattern)简介
单例模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。它是一种创建型模式。
二、单例模式(Singleton Pattern)的优点
①在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例
②避免对资源的多重占用(比如写文件操作)
三、单例模式(Singleton Pattern)的缺点
①没有接口
②不能继承
③违背单一职责原则
四、单例模式(Singleton Pattern)适用场景
①想要控制实例数目,节省系统资源的时候
②没有必要存在多个实例的时候(比如工具类)
五、单例模式(Singleton Pattern)举例
举一个生活例子来形象地描述单例模式。比如家庭里一般只会买一个计算器,而不会准备多个,可以买但没必要。
六、单例模式(Singleton Pattern)实现
单例类
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Singleton
{
private static Singleton instance;
private Singleton()
{
}
public static Singleton GetInstance()
{
if(instance == null)
{
instance = new Singleton();
}
return instance;
}
public void Add()
{
Debug.Log("加法");
}
public void Sub()
{
Debug.Log("减法");
}
}
测试
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SingletonTest : MonoBehaviour
{
void Start()
{
Singleton instance = Singleton.GetInstance();
instance.Add();
instance.Sub();
}
}