लागू करने वाली कक्षा पर फोर्स सिंगलटन पैटर्न मैं उदाहरण के साथ प्रश्न को बेहतर तरीके से समझाता हूं। मेरे पास इंटरफ़ेस मॉडल है जिसका उपयोग डेटा तक पहुंचने के लिए किया जा सकता है। मॉडल के विभिन्न कार्यान्वयन हो सकते हैं जो विभिन्न प्रारूपों में डेटा का प्रतिनिधित्व कर सकते हैं XMl, txt प्रारूप इत्यादि मॉडल प्रारूपों से संबंधित नहीं है। आइए कहें कि ऐसा एक कार्यान्वयन myxmlModel है।एक इंटरफ़ेस
अब मैं सिंगलटन पैटर्न व्याप्ति हमेशा की तरह निर्माता निजी myxmlModels बनाने के लिए और myModel का एक उदाहरण वापस जाने के लिए एक स्थिर कारखाने विधि प्रदान करना है का पालन करने के myxmlModel और मॉडल के हर कार्यान्वयन बाध्य करना चाहते हैं कक्षा.लेकिन समस्या इंटरफ़ेस में स्थिर विधि परिभाषाएं नहीं हो सकती हैं और नतीजतन मैं मॉडल के सभी कार्यान्वयन पर किसी विशेष फैक्टरी विधि परिभाषा को लागू नहीं कर सकता। तो एक कार्यान्वयन getObject() प्रदान करने के साथ समाप्त हो सकता है और अन्य न्यूमोडेल() प्राप्त कर सकते हैं।।
एक काम के आसपास के myxmlModel के निर्माता पैकेज उपयोग की अनुमति है और एक फैक्टरी वर्ग जो myxmlModel वस्तु बनाता है बना सकते हैं और आगे उपयोग के लिए यह कैश करने के लिए है।
मैं सोच रहा था कि समान कार्यक्षमता प्राप्त करने का एक बेहतर तरीका है या नहीं।
कोशिश की। सार कक्षा – Duleb
काम नहीं करेगा पॉलिमॉर्फिज्म स्थिर विधि के मामले में काम नहीं करेगा। देखें कि क्या आपके पास अमूर्त वर्ग में एक स्थिर विधि है और आप इसे सबक्लास में ओवरराइड करते हैं, फिर यदि आप उस विधि तक पहुंचने का प्रयास करते हैं तो मूल को उप-वर्ग की विधि नहीं कहा जाएगा। – Duleb
आह, ज़ाहिर है, इसके बारे में खेद है। – Steven