【发布时间】:2021-11-19 06:05:28
【问题描述】:
以下方法有什么区别吗?我喜欢第二种方法,因为它更清晰,但我也在互联网上看到方法 1。所以想知道一种方法是否比其他方法有任何好处。
方法 1
Singleton.ts
class Singleton {
private static _instance: Singleton | null = null
private constructor() {}
public static getInstance() {
if (!Singleton._instance) {
Singleton._instance = new Singleton()
}
return Singleton._instance
}
public doSomeWork() {}
}
export default Singleton
test1.ts
import Singleton from './Singleton'
Singleton.getInstance().doSomeWork()
test2.ts
import Singleton from './Singleton'
Singleton.getInstance().doSomeWork()
方法2
Singleton.ts
class Singleton {
constructor() {
}
public doSomeWork() {}
}
export default new Singleton()
test1.ts
import singleton from './Singleton'
singleton.doSomeWork()
test2.ts
import singleton from './Singleton'
singleton.doSomeWork()
【问题讨论】:
标签: javascript singleton