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