单例模式
说明
- 确保一个类只有一个实例, 并提供全局访问点
- 应用场景: 配置管理、日志记录器、数据库连接等
使用
ts
// 创建一个声音管理类 方式一
class SoundManager {
// 在内部实例化
static init = new SoundManager()
// 将构造函数设置为私有的, 外部就无法通过 new 关键字实例化
private constructor () {}
}
// 外部使用
SoundManager.init
// 创建一个敌人管理类 方式二(推荐), 相对节省内存
class EnemyManager {
private static instance: EnemyManager
private constructor() {}
static Init() {
// 当前单例是否产生, 懒加载, 不实用时节省内存
if (!this.instance) {
EnemyManager.instance = new EnemyManager()
}
return EnemyManager.instance
}
}
// 外部使用
EnemyManager.Init()