संभव डुप्लिकेट:
Who needs singletons?सर्वश्रेष्ठ अभ्यास
मैं हमेशा सबसे अच्छा अभ्यास के संबंध में लिखते हैं, लेकिन मैं यह भी समझने के लिए क्यों किसी दिए गए बात एक है चाहता हूँ सर्वोत्तम अभ्यास।
मैंने एक लेख में पढ़ा है (मुझे दुर्भाग्य से याद नहीं है) कि सिंगलटन कक्षाओं को स्थैतिक कार्यों के साथ किए जाने और स्कोप रिज़ॉल्यूशन ऑपरेटर (: :) के साथ उपयोग किए जाने के बजाय तत्काल होने की प्राथमिकता दी जाती है। तो अगर मैं एक वर्ग कि मान्य करने के लिए अपने सभी उपकरणों में शामिल है, संक्षेप में है:
class validate {
private function __construct(){}
public static function email($input){
return true;
}
}
मैं क्योंकि के रूप में ऐसी बातों के बारे में बताया गया है इस बुरा व्यवहार (या कम से कम के खिलाफ चेतावनी दी) माना जाता है, कचरा कलेक्टर और रखरखाव। तो "सिंगलटन क्लास स्टैटिक विधियों के रूप में" की आलोचना क्या है, यह है कि मैं एक वर्ग को तत्काल करता हूं, मैं 100% निश्चित हूं, मैं केवल एक बार तुरंत चालू हो जाऊंगा। मेरे लिए यह "डबल काम" करने जैसा लगता है, क्योंकि यह सब तैयार है। मैं क्या खो रहा हूँ?
इस मामले पर क्या विचार है? बेशक यह जीवन और मौत का मुद्दा नहीं है, लेकिन अगर कोई विकल्प सही है, तो कोई भी सही तरीके से कर सकता है :)
संभावित डुप्लिकेट [किसके लिए सिंगलेट की आवश्यकता है?] (Http://stackoverflow.com/a/4596323/208809) – Gordon