के साथ निदान मैं अपने विंडोज़ एप्लिकेशन में निनजेक्ट का उपयोग करना चाहता हूं और मैं जानना चाहता हूं कि क्या सर्वोत्तम अभ्यास है जो मैं कर सकता हूं; प्रदर्शन और रखरखाव के बीच संतुलन खोजने के लिए रणनीतियों।विंडोज अनुप्रयोग
विंडोज एप्लिकेशन और वेब अनुप्रयोग के साथ समस्या यह है कि वेब अनुप्रयोग में, यह परिभाषित करने के लिए एक दायरा आसान है कि संदर्भ है लेकिन विंडोज़ एप्लिकेशन के साथ, आपके पास फॉर्म के बाद फॉर्म का उपयोग करना आसान नहीं है।
उदाहरण के तौर पर, मेरे पास एक सेवा है जो डेटाबेस से पूछताछ करती है। इस सेवा में एक निर्माता है और एक यूनिटऑफवर्क प्राप्त किया है। निनजेक्ट के साथ, मैं इंजेक्शन के रूप में चिह्नित एक संपत्ति बना सकता हूं लेकिन यदि मैं ऐसा करता हूं, हर बार जब मैं यह सेवा तैयार करूंगा, तो डेटाबेस में एक नया कनेक्शन बनाया जाएगा।
बस इसी कारण से, मुझे मैन्युअल रूप से बनाए गए कनेक्शन की संख्या को नियंत्रित करने के लिए अपनी सेवाओं को बनाना होगा और कोई निर्भरता इंजेक्टर का उपयोग नहीं किया जा सकता है।
मुझे पता चला है कि इंजेक्शन निर्भरता के लिए सेवा बनाने के बाद आप इंजेक्ट विधि को कॉल कर सकते हैं लेकिन मुझे यकीन है कि मैं एक बेहतर रणनीति का उपयोग कर सकता हूं।
+1 और संबंधित लिंक http://kohari.org/2009/03/06/cache-and-collect-lifecycle-management-in-ninject-20/ निंजा 2.0 स्कॉप्स –
को समझने के लिए पढ़ना आवश्यक है, लिंक्ड लेख पढ़ने के बाद, अब मैं बेहतर समझता हूं कि मैं इंजेक्शन वाले आश्रित वस्तुओं के जीवनकाल को कैसे नियंत्रित कर सकता हूं। यह अच्छा है लेकिन एक महान वास्तुकला के बिना, यह बनाए रखने के लिए अजीब हो सकता है। ऐसा प्रतीत होता है कि वेब पर बहुत कम लोग एक अच्छा विंडोज एप्लिकेशन कैसे डिज़ाइन करते हैं और Winform में ऑब्जेक्ट का दायरा कैसे शुरू करें, इस बात को ध्यान में रखते हुए कि कई अन्य रूप एक साथ काम कर सकते हैं, इस बारे में युक्तियां देते हैं। मैं माइंडस्केप के लाइटस्पीड और यूनिटऑफवर्क का उपयोग कैश का उपयोग करता हूं और जब आपके पास कई Winforms हैं जो एक साथ काम करते हैं, तो डेटा को अक्सर साझा किया जाना चाहिए। किसी भी शरीर के पास परियोजना का ठोस नमूना है? – Samuel
@ सैमुएल, ईमानदार होने के लिए, मैंने कंक्रीट नमूना अनुप्रयोगों के रास्ते में बहुत कुछ नहीं देखा है जो एक अच्छी तरह से आर्किटेक्टेड अनुप्रयोग में नियोजित ओआरएम और यूनिटऑफवर्क के साथ विंडोज फॉर्म दिखाते हैं। अगर मैं कभी भी किसी को ढूंढ सकूं तो मैं निश्चित रूप से उन्हें खुद देखना चाहूंगा। –