में उचित कक्षा तात्कालिकता सी #/डब्ल्यूपीएफ/एमवीवीएम डेवलपर के रूप में पिछले दो वर्षों में खर्च करने के बाद, मैंने हाल ही में एक नई कंपनी में एक वीबी/विनफॉर्म प्रोजेक्ट लिया।सी # और विनफॉर्म
मैंने सफलतापूर्वक परियोजना को सी # में परिवर्तित कर दिया है। मैं इस परियोजना के लिए सर्वोत्तम तरीकों का पता लगाने की कोशिश कर रहा हूं, लेकिन मैं यह पता लगाने की कोशिश कर रहा हूं कि वास्तव में कितना रिफैक्टरिंग और पुनः कॉन्फ़िगर करना है।
मेरा मुद्दा यह है: पिछले डेवलपर ने दो विशाल स्थैतिक वर्ग बनाए। 30+ रूप हैं जिनका उपयोग विभिन्न कार्यों के लिए किया जाता है। प्रत्येक फॉर्म को बटन द्वारा संचालित एक ईवेंट से "मुख्य मेनू" प्रकार के स्क्रीन पर क्लिक किया जाता है। जब कार्यक्रम शुरू होता है, तो इन मेगा-क्लास में से किसी एक कार्य को बुलाया जाता है जो प्रत्येक रूप को तत्काल बनाता है। स्थिरता और स्थिरांक की अविश्वसनीय संख्या भी है।
मैंने स्थिरांक को तोड़ दिया है और उनके लिए एक विशिष्ट वर्ग बनाया है। मैं मेगा-क्लास को छोटे, अधिक प्रबंधनीय (और जिम्मेदारी विशिष्ट) वर्गों में अलग कर रहा हूं, लेकिन मुझे यह अविश्वसनीय रूप से बड़ा प्रारंभिक कार्य मिल गया है जो इन सभी रूपों को तुरंत चालू करता है।
इस प्रकार, मेरे प्रश्न (आखिरकार) ये हैं: क्या मैंने संसाधन दुःस्वप्न के ऊपर लिखा है? या, क्या यह किसी प्रकार का सामान्य वीबी/विनफॉर्म डिज़ाइन पैटर्न है जिसे मुझे रखना चाहिए? क्या मुझे इसे फिर से लिखना चाहिए ताकि प्रत्येक फॉर्म/क्लास को तत्काल बनाया जा सके जब उस फॉर्म को कॉल करने वाले बटन पर क्लिक किया जाता है, तो यह बंद होने पर निपटान किया जा सकता है?
किसी भी दिशा के लिए धन्यवाद जो आप मुझे दे सकते हैं। अगर मैं इसे और अधिक विशिष्ट बनाने के लिए अधिक जानकारी प्रदान कर सकता हूं, तो कृपया टिप्पणी करें और मैं संपादित करूंगा।
धन्यवाद भगवान इस देव को बदल दिया गया है। – Phiter
बस मुझे खराब डिजाइन की तरह लगता है। मैं एक समय में कुछ रूपों को तुरंत समझ सकता हूं, लेकिन हर रूप में नहीं। उन्हें केवल तत्काल होना चाहिए जब वे आईएमओ का उपयोग करने के लिए तैयार हों।जब तक आप लॉगिन फॉर्म पूरा होने के बाद दिखाए जाने वाले मुख्य फॉर्म को तैयार नहीं कर लेते हैं। फिर भी, मैं अभी भी ऐसा नहीं करता हूं। तो, हाँ, इसे अपना रास्ता लिखें और केवल आवश्यकतानुसार तत्काल करें। यह बहुत बेहतर है। – ManoDestra
अंगूठे का नियम है (आप इसे डीबी कनेक्शन के बारे में बहुत कुछ सुनेंगे, लेकिन यह वास्तव में लगभग सभी कक्षाओं पर लागू होता है) जितनी जल्दी हो सके तत्काल, जितनी जल्दी हो सके निपटान करें। यह सुनिश्चित करता है कि जीसी आपके ऑब्जेक्ट को कुशलता से अंतिम रूप दे सकता है। दीर्घकालिक वस्तुओं जीसी अंतिमकरण के बाद के दौर में गिरावट जो काफी समय ले सकती है। – Kevin