我常用的两个单例模式写法 (继承Mono和不继承Mono的)

不继承Mono

不继承Mono代表不用挂载到场景物体上面,因此直接饿汉式 加 合并空运算符判空创建实例

=>(lambda表达式)的意思是get,就是将instance赋给Instance属性

cs 复制代码
    //单例
    private  static JsonDataManager instance =new JsonDataManager();
    public static JsonDataManager Instance=>instance??( new JsonDataManager());//a??b a为空则返回b,否则返回a

继承Mono

继承Mono代表需要挂载到场景中,因此被挂载的物品就相当于该脚本的对象,所以要到awake里面为instance赋值

其实如下写法按理来讲是可能出现问题的,但是我目前没有遇到过,因为我严格将该脚本挂载到场景对象之中

cs 复制代码
 private  static JsonDataManager instance = new JsonDataManager();
 public static JsonDataManager Instance=>instance;

    private void Awake() {
        if(instance == null)
            instance = this;
        else
            Destroy(gameObject);
    }

规范写法如下:
Unity :单例模式 + MonoBehaviour 是什么体验?-CSDN博客

相关推荐
掘金-我是哪吒10 分钟前
第378集设备服务接入系统Java微服务后端架构实战
java·开发语言·spring·微服务·架构
百万彩票中奖候选人14 分钟前
迁移 Docker 存储目录
java·docker·eureka
啊森要自信15 分钟前
【C++的奇迹之旅】map与set应用
c语言·开发语言·c++
一颗宁檬不酸15 分钟前
Java Web 踩坑实录:JSTL 标签库 URI 解析失败(HTTP 500 错误)完美解决
java·开发语言·前端
西岭千秋雪_15 分钟前
MySQL日志梳理(服务器层)
java·运维·服务器·数据库·mysql
有一个好名字20 分钟前
Java 高性能序列化框架 Kryo 详解:从入门到实战
java·开发语言
酒尘&22 分钟前
JavaScript官网Promise篇
开发语言·前端·javascript·前端框架·交互
霸王大陆34 分钟前
《零基础学 PHP:从入门到实战》模块十:从应用到精通——掌握PHP进阶技术与现代化开发实战-3
开发语言·php
爬山算法36 分钟前
Redis(166)如何使用Redis实现实时统计?
java·redis·bootstrap
better_liang37 分钟前
每日Java面试场景题知识点之-Spring Boot微服务配置管理
java·spring boot·微服务·面试题·配置管理