您当前的位置: 首页 >  unity

真的没事鸭

暂无认证

  • 2浏览

    0关注

    75博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

unity-单例模式

真的没事鸭 发布时间:2022-08-07 18:44:22 ,浏览量:2

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;
    }
}
关注
打赏
1663134582
查看更多评论
立即登录/注册

微信扫码登录

0.0482s