不要纠结
用自己习惯的就行
不管饥还是饱
都有各自优势
不要纠结
用自己习惯的就行
不管饥还是饱
都有各自优势
直接定义一个全局对象不也挺好 
嘿嘿 无伤大雅我就喜欢全局 一个app.
可以。我只是想提供一个用最少行数就可以实现的懒汉式单例模式
简单粗暴写法
class GameMangerClass {
}
export const GameSystem = new class GameMangerClass {
}
放在方法里面获取 ,是在调用的第一次才会初始化实例 对于没有用到的时候 占用内存会更小, 另外,游戏在启动时候会初始化,直接写的话,会被提前初始化,相当于和那些需要提前初始化的实例抢了CPU 和初始化的时间。
我基本上就不用单例,都是直接导入导出居多
也就是:
export class xxMgr{
func(){}
}
import xxMgr from xxMgr;
xxMgr.func();
我的xxMgr 都是全局的,本身就只有一个吧(单场景+多预制件开发的)?
class Singleton {
private static _ins: Singleton
private constructor() { }
static get Ins() { return this._ins ??= new Singleton()) }
}
这个代码是最最少的写法
明白了 现在是386时代,内存和CPU很重要 需要慎重使用!
怎么感觉有点阴阳怪气的
export的缺点: 很难保证初始化顺序,如果有人在构造函数里整花活,就是一场灾难
任何库的使用都是有条件的 ,要按要求去做,这个是你开发人员要提前明确的,
不要说你一个普普通通的开发人员,任何操作系统的API 你不管不吝的瞎记吧传参数 它也会出错崩溃,但你出错了 你不要说操作系统有问题,那不是人家有问题 那是你自己的问题,懂这个了逻辑了吗
说这话,我想你大概率没有参与过10人以上项目吧?
如果还这样坚持, 就当我没说,你开心就好
WINDOWS LINUX IOS的API的开发者都是多少人,要面对多少使用者?调用会出错吗?
import Singleton from “./Singleton”;
@Singleton
export class testModel {
declare static ins: testModel;
public log(arg: any) {
console.log(arg);
}
}
{
testModel.ins.log(1111);
}
让AI写个单例注解
我谢谢你啊
很好的反面案例,楼上说的 “很难保证初始化顺序,如果有人在构造函数里整花活,就是一场灾难” 知道了吧
你看看你 这不整花活了 
这里的人说话真好听