/ / सिंगलटन क्लास डिज़ाइन इश्यू [डुप्लीकेट] - जावा, डिज़ाइन-पैटर्न, सिंगलटन

सिंगलटन क्लास डिजाइन मुद्दे [डुप्लिकेट] - जावा, डिज़ाइन-पैटर्न, सिंगलटन

नीचे एकल वर्ग पैटर्न पैटर्न का उपयोग कर एक वर्ग है:

class Singleton
{
private static Singleton instance;
private Singleton()
{
...
}

public static synchronized Singleton getInstance()
{
if (instance == null)
instance = new Singleton();

return instance;
}
...
public void doSomething()
{
...
}
}

मैं उपरोक्त वर्ग के बारे में कुछ डिजाइन मुद्दों को जानना चाहता था? उदाहरण चर क्यों है? instance निजी और स्थिर। मैं समझता हूं कि निजी होना उदाहरण चर को केवल उस विशिष्ट वर्ग की वस्तु के लिए सुलभ बनाता है लेकिन यह कैसे मदद करता है?

उत्तर:

उत्तर № 1 के लिए 6

अगर वह वैसा होता जनता, हर कोई इस्तेमाल कर सकता है Singleton.instance और शिकायत करेंगे क्योंकि यह अशक्त है निजी उन्हें इस्तेमाल करने के लिए मजबूर करता है getInstance(), जो गैर-अशक्त उदाहरण वापस करने की गारंटी देता है।

अगर यह नहीं था "टी स्थिर, यह सिंग्लटन का एक उदाहरण चर होगा, और इस प्रकार आपको विलक्षण सिंगलटन उदाहरण का उपयोग करने के लिए एक सिंगलटन उदाहरण की आवश्यकता होगी जो कि बहुत मायने नहीं रखता है।