सिंगलटन का उद्देश्य ऑब्जेक्ट इंस्टेंस को एक तक सीमित करना और वैश्विक पहुंच प्रदान करना है।
दोनों ऐसी चीजें हैं जो आपको नहीं चाहिए या जिनकी आपको आवश्यकता नहीं है।
अपने उदाहरण को एक उदाहरण तक सीमित करना PHP में व्यर्थ है जहां यह प्रतिबंध केवल वर्तमान में उदाहरणों पर लागू होता है गुजारिश। यदि आपकी माइक्रोब्लॉगिंग साइट पर एक ही समय में दो अनुरोध आते हैं, तब भी प्रति अनुरोध एक-एक उदाहरण होगा। यदि आप यह सुनिश्चित करना चाहते हैं कि केवल एक ही उदाहरण है, तो बस दूसरे उदाहरण को तत्काल न करें।
वैश्विक पहुंच कुछ भी नहीं है जो आप चाहते हैं, क्योंकि यह एनकैप्सुलेशन को तोड़ता है। यदि आपको अपनी वस्तुओं के अंदर एक निश्चित उदाहरण की आवश्यकता है, तो इसे निर्भरता इंजेक्शन . यह साफ और रखरखाव योग्य है। इसमें आपको अन्य कार्यान्वयनों के साथ निर्भरता का आसानी से आदान-प्रदान करने की अनुमति देने का अतिरिक्त लाभ है, उदाहरण के लिए नकली कक्षाएं ए> आपके इकाई परीक्षणों के लिए ।
यहां तक कि एरिच गामा , सिंगलटन पैटर्न के आविष्कारकों में से एक, आजकल इस पैटर्न पर सवाल उठाता है:
सिंगलेट्स से बचने के लिए आप सबसे अच्छे हैं।