2016-12-14 20 views
-1

核心問題在標題中,但我認爲正確的答案如下:Singleton模式的基本元素是什麼?

  • 它可確保只有一個實例被創建

  • 它提供一個全局訪問指向一個對象

我問,因爲我不能確定的是,以上正確答案這個問題。我做了一點研究,但上面的答案不斷出現。是否有任何補充或完全是答案錯誤。

+2

請參閱[單件](http://stackoverflow.com/documentation/java/130/singletons#t=201612141638581578711) – JonK

+0

「* JVM *」短語或「jvm」標籤的相關性是什麼?你的問題?此外,你已經命名爲「Singleton模式的基本元素」,至少在GoF的着名書籍「設計模式」中有詳細說明,儘管有人質疑第二個子彈是否基本描述了一個(可能封裝的)全局變量,實際上是Singleton模式的重要組成部分。由於設計模式不是刻在石頭上,所以在這裏沒有絕對的對與錯。 – Holger

+0

問題JVM的部分問題是我出於同樣的原因而困惑的地方。這個問題是我在大學的一次演講中提出的,其寫法如上。現在我個人可能會問到什麼是基本元素,但是提到了JVM這個事實,我認爲這個簡單問題可能會有另一個答案。 –

回答

1

是的,你是正確的。 單例模式限制了類的實例化,並確保java虛擬機中只存在一個類的實例。單例類必須提供一個全局訪問點來獲取類的實例。單例模式用於日誌記錄,驅動程序對象,緩存和線程池。

+0

那真是太棒了!謝謝。 –

0

單身模式不難理解。

它用來限制對象實例數量的單例。一般用於工廠。

Singleton類是這樣的:

public class YourClass{ 
    private static final YourClass INSTANCE = new YourClass(); 
    private YourClass{Your code..} 
    //This is the factorie 
    public static YourClass getInstance(){return INSTANCE;} 
} 

不能創建類的實例很多。該程序總是返回相同的對象。

您可以在此頁面找到許多其他的解釋:https://www.tutorialspoint.com/java/java_using_singleton.htm

+0

請看看:[是否只包含其他鏈接的答案真的是「好答案」?](http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere -really-good-answers) – Pshemo

+1

現在將通讀它。非常感謝。我理解如何在代碼中實現這個模式,以及它的功能等等。但我不確定是否還有比問題中的兩個要點更多的內容。無論哪種方式,都會查看您建議的鏈接。再一次感謝你。 –