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

server/2024/10/15 17:56:28/

不继承Mono

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

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

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

继承Mono

继承Mono代表需要挂载到场景中,因此被挂载的物品就相当于该脚本的对象,所以要到awake里面为instance赋值
其实如下写法按理来讲是可能出现问题的,但是我目前没有遇到过,因为我严格将该脚本挂载到场景对象之中

 private  static JsonDataManager instance = new JsonDataManager();public static JsonDataManager Instance=>instance;private void Awake() {if(instance == null)instance = this;elseDestroy(gameObject);}

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


http://www.ppmy.cn/server/132297.html

相关文章

Yocto - Meta-data中的PATCHTOOL变量介绍

在 Yocto 中,“do_patch ”任务负责在构建过程中为源代码打补丁。Yocto 支持多种补丁管理工具,例如 patch、quilt 和 git,每种工具都有不同的特性和用例。 在 Yocto 项目中,PATCHTOOL 变量决定了用于为源代码打补丁的工具。 In Yo…

使用docker、编写dockerfile、httpd镜像,并启动镜像,创建httpd主页和分页。(2)

1.准备一台机子,准备源,下载docker-ce vi /etc/yum.repo.d/Centos-7.repo 加入以下内容[base] nameCentOS-$releasever - Base - mirrors.aliyun.com failovermethodpriority baseurlhttp://mirrors.aliyun.com/centos/$releasever/os/$basearch/http:/…

一种压缩QRCode矩阵以用于存储的方法

通常QRCode由服务器生成,以图片格式发送到客户端,由客户端直接展示,也可以由客户端使用javascript或其他内置的SDK直接生成。 0、需求 QRCode生成过程中往往是先生成矩阵,然后使用矩阵生成图片,矩阵就是由01组成的一…

瑞芯微RK3566/RK3568 Android11使用OTA升级固件方法,深圳触觉智能鸿蒙开发板演示,备战第九届华为ICT大赛

本文介绍瑞芯微RK3566/RK3568在Android11系统OTA升级固件方法,使用触觉智能的Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566,Laval官方社区主荐! 1、OTA包生成 在源码根目录上执行以下命令编译OTA包 # make installclean # …

python对weedfs的操作

1、weedfs的简介 如果你对weed储存有一定的理解也可以忽略 WeedFS(Weed File System)是一个开源的分布式文件系统,由Go语言编写,旨在解决海量文件存储和访问的问题。它采用了类似于Hadoop HDFS的分布式文件系统架构,…

载货车一键启动无钥匙进入、手机也能控制、这配置真高端

‌货车一键启动功能的核心作用是通过一个按钮实现车辆的启动和熄火,极大地简化了传统钥匙启动的繁琐步骤,提高了使用的便捷性和安全性。‌ 货车一键启动系统的具体功能包括: 无钥匙进入‌:车主只需携带智能钥匙靠近车辆&#xf…

uniappx uts自学(2024/10/14)

uts需要类型 uts声明变量 let 或 const let相当于 TypeScript 中的 let、kotlin 中的 var、swift 中的 var。 cosnt相当于 TypeScript 中的 const、kotlin 中的 val、swift 中的 let。 let [变量名] : [类型] 值; let str :string "hello"; // 声明一个字符串…

Spring Boot学习资源库:Java开发者的新篇章

2 相关技术简介 2.1Java技术 Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任…