मेरे पास कक्षाओं का एक समूह है जो एक सार तत्व का विस्तार करता है। इन वर्गों के एक उप-समूह को विधियों में से एक के समान कार्यान्वयन की आवश्यकता होती है, कक्षाओं के एक और उप-समूह को विधि के दूसरे कार्यान्वयन की आवश्यकता होती है, और एक तिहाई सबसेट की आवश्यकता होती है। कुल मिलाकर लगभग दस बच्चे वर्ग हैं, लेकिन विधियों में से केवल तीन संभव कार्यान्वयन हैं। (कक्षाएं लागू करने वाली कई अन्य विधियां हैं जिनमें कुछ भी सामान्य नहीं है।)एकाधिक विरासत के बिना यह कैसे करें
मैं इसे पूरा करने का सबसे अच्छा तरीका जानने का प्रयास कर रहा हूं। मुझे लगता है कि मैंने सी ++ में जो किया होगा वह एकाधिक विरासत है: केवल तीन तरीकों को लागू करने वाले तीन वर्गों को बनाएं, फिर बच्चों को उन तीन वर्गों में से एक के उपयुक्त प्राप्त करें।
जावा में ऐसा करने के लिए कोई सबसे अच्छा अभ्यास है?
मैं मुख्य सार वर्ग और बच्चों के बीच तीन अमूर्त वर्गों की एक हस्तक्षेप परत पर विचार कर रहा था। मुख्य सार वर्ग से तीन विरासत में से प्रत्येक, और प्रश्न में विधि को कार्यान्वित करना। तब बच्चे इन तीनों से उत्तराधिकारी होते हैं। लेकिन मुझे इसके बारे में क्या पसंद नहीं है, अगर एक और तरीका एक समान "समूह" व्यवहार के साथ आता है, और यह तीन "मध्यम स्तर" वर्गों के अनुरूप नहीं है? वह बदसूरत
क्या इनमें से कोई भी समझ में आता है? मैं जल्दी में लिख रहा हूं ...
संपादित करें: तो, मेरे प्रश्न पूछने के 24 घंटे बाद मुझे जांच के लिए आधा दर्जन पैटर्न प्राप्त हुए हैं। मुझे अभी तक यकीन नहीं है कि वे सभी आधिकारिक डिजाइन पैटर्न नाम हैं। लेकिन मैं प्रत्येक में देखने जा रहा हूं और फिर वापस रिपोर्ट कर रहा हूं (और एक उत्तर सही के रूप में चुनें)। pattens अब तक का सुझाव दिया:
* Delegation
* Bridge
* Strategy
* Composition
* Decorator (if I was choosing on name alone, I choose this one)
मैं भी जोड़ने के लिए है कि विधि है कि लागू किया जा रहा है की जरूरत वर्ग की निजी सदस्यों के लगभग सभी के लिए पहुँच की आवश्यकता है। तो यह मेरी पसंद में बड़ा कारक होगा।
लिंक के लिए धन्यवाद जो मैं पढ़ूंगा और मेरे प्रश्नों के साथ वापस आऊंगा। क्या आप अभी भी सुनेंगे? मैं यहाँ नया हूँ। उत्तर में पोस्ट की गई टिप्पणियां उत्तरदाताओं को भेजने के लिए किसी प्रकार की चेतावनी का कारण बनती हैं? –
उत्तर देने के लिए टिप्पणियां एक छोटी अधिसूचना को ट्रिगर करती हैं, लेकिन यदि आपके पास बाद के प्रश्न हैं तो वेबसाइट की भावना में उन्हें पहले के रूप में अनुवर्ती उत्तरों का अनुरोध करने के बजाय उन्हें नए (डुप्लिकेट की जांच करते समय) पोस्ट करने के लिए और अधिक है। इस तरह मेटा-चर्चा [इसकी अपनी उप-साइट] है (http://meta.stackoverflow.com/) और यहां पर फहरा हुआ है। – Barend