簡體   English   中英

導出 class 的 object 與導出 singleton ZA2F2ED4F8EBC2CBB4C21A29DC40AB61 Javascript

[英]Exporting the object of the class vs exporting the singleton class. Javascript

以下方法有什么區別嗎? 我喜歡第二種方法,因為它更清晰,但我也在互聯網上看到方法 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

測試1.ts

import Singleton from './Singleton'

Singleton.getInstance().doSomeWork()

測試2.ts

import Singleton from './Singleton'

Singleton.getInstance().doSomeWork()

方法二

Singleton.ts

class Singleton {
    constructor() {
        
    }    
    
    public doSomeWork() {}
}


export default new Singleton()

測試1.ts

import singleton from './Singleton'

singleton.doSomeWork()

測試2.ts

import singleton from './Singleton'

singleton.doSomeWork()

我認為第二個更可取。 第一個實際上允許實例化多次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM