बहुत समय पहले सी/सी ++ से आ रहा है, मुझे अभी भी यह सुनिश्चित करने की आदत है कि सभी संसाधन सही तरीके से साफ हो गए हैं। मैं हमेशा यह सुनिश्चित करता हूं कि डिस्पोजेक्ट को आईडीस्पोज़ेबल क्लास पर बुलाया जाता है और डिस्पोजेबल ऑब्जेक्ट्स वाले मेरे वर्गों में डिस्पोजेक्ट पैटर्न को कार्यान्वित करता है।IDISposable, क्या यह वास्तव में
हालांकि, मेरे पर्यावरण में मैं केवल इतना ही कम कर रहा हूं। अन्य सिर्फ यह नहीं समझते कि मैं क्या कर रहा हूं और सोचता हूं कि मेरा कोड समझना अधिक कठिन है।
वे बंद या निपटान के बिना डेटाबेस कनेक्शन, खुली धाराएं आदि बनाते हैं। कभी-कभी वे किसी विधि के अंत में स्थानीय या सदस्य चर को "कुछ भी नहीं" पर सेट करते हैं (उनकी पृष्ठभूमि अनुमान लगाएं)।
मेरी समस्या यह है कि उनका कोड बस के साथ ही मेरा काम करता है। कोड जो समय के साथ हजारों डेटाबेस कनेक्शन ऑब्जेक्ट बनाता है बस काम करता है।
तो,, कोड शुद्धता के बारे में कोई बहस, दिशा निर्देशों आदि निम्नलिखित अनदेखी IDiposable वास्तव में करता है बात?
क्या कोई वास्तव में वस्तुओं का निपटान न करने से संसाधनों से बाहर हो गया है?
संपादित करें: सभी उत्तरों के लिए धन्यवाद। यह देखने में दिलचस्प है कि निपटान नहीं करते समय कुछ लोगों को समस्याएं थीं। हालांकि यह दुर्लभ प्रतीत होता है और मुझे लगता है कि जीसी/जेआईटी सामान्य परिस्थितियों में संसाधनों के उपयोग को कम रखने का अच्छा काम करता है।
न तो मेरे सहयोगी और न ही मैं इस वजह से व्यवहार बदल दूंगा लेकिन यह सही होने के लिए अच्छा लगता है।
एसओ पर कई समस्याएं "अजीब चीजें होती हैं" विविधता के हैं। मुझे लगता है कि उनमें से आधा निपटान करने में असफल होने के कारण हैं, खासकर यदि वे केवल दूसरे या बाद के समय किसी प्रकार के लूप के माध्यम से होते हैं। दूसरा आधा अनचाहे अपवाद हैं, बीटीडब्ल्यू। –
मैंने दूसरों के साथ IDISposible पैटर्न का उपयोग करने के लिए एक ही तर्क दिया है और एक समान प्रतिक्रिया प्राप्त की है। आप इस संघर्ष में निश्चित रूप से अकेले नहीं हैं। मैं आपको बताता हूं कि आप जो जानते हैं उससे समझौता नहीं करना सही और उचित है क्योंकि आपका कोड "पढ़ने में मुश्किल" है। बस मेरे 2 सेंट। –
यदि कुछ और नहीं है, तो __explicit__ भाषा –