जावा में, मैं मार्कर इंटरफेस को परिभाषित करने में सक्षम होना चाहता हूं, जो स्थैतिक तरीकों को प्रदान करने के लिए मजबूर कार्यान्वयन करता है। उदाहरण के लिए, सरल पाठ क्रमांकन/deserialization के लिए मैं एक अंतरफलक है कि कुछ इस तरह देखा परिभाषित करने में सक्षम होना चाहते हैं:स्थिरता लागू करने के लिए इंटरफेस पर स्थिर तरीकों के विकल्प
public interface TextTransformable<T>{
public static T fromText(String text);
public String toText();
हालांकि (के रूप में एक में बताया गया है के बाद से जावा में इंटरफेस स्थिर तरीकों को शामिल नहीं कर सकते हैं अन्य पदों/धागे की संख्या: here, here, और here इस कोड काम नहीं करता
क्या मैं फिर भी तलाश कर रहा हूँ एक ही मंशा, अर्थात् सममित तरीकों, जिनमें से एक स्थिर है व्यक्त करने के लिए कुछ उचित प्रतिमान है। , और संकलक द्वारा लागू किया गया है। अभी सबसे अच्छा हम किसी भी प्रकार की स्थिर फैक्ट्री ऑब्जेक्ट या जेनेरिक फैक्ट्री के साथ आ सकते हैं, इनमें से कोई भी वास्तव में संतुष्ट नहीं है अनुदारपंथी।
नोट: हमारे मामले में हमारे प्राथमिक उपयोग-मामले में हमारे पास कई "मूल्य-वस्तु" प्रकार - enums, या अन्य ऑब्जेक्ट्स हैं जिनमें सीमित संख्या में मूल्य हैं, आमतौर पर उनके मूल्य से परे कोई राज्य नहीं लेते हैं, और जो हम हजारों बार एक सेकंड पार्स/डी-पार्स करते हैं, इसलिए वास्तव में उदाहरणों का पुन: उपयोग करने (जैसे फ्लोट, इंटेगर इत्यादि) और मेमोरी खपत/जीसी पर इसके प्रभाव की परवाह है
कोई विचार?
EDIT1: कुछ भ्रम की स्थिति को स्पष्ट करने के लिए - हम कई, विभिन्न वस्तुओं इस पैटर्न फिटिंग -really हम 2 अर्थ विज्ञान के साथ कॉल करने के लिए कुछ सुंदर के साथ आने की कोशिश कर रहे हैं: अनुबंध के रूप में
- इंटरफेस - पहुँच की एकता (एक क्षमता के रूप में TextTransformable जैसे) उपवर्गों/कार्यान्वयन द्वारा
- आवश्यकता कार्यान्वयन (जैसे उन्हें अपने स्वयं के परिवर्तन
लागू करने के लिए Ter में मजबूर फ्लाईवेट, कारखानों के लिए हमारे विचारों के एमएस - वे दोनों विकल्प हैं जिन्हें हमने माना है, वास्तव में हम यह देखने की कोशिश कर रहे हैं कि क्या हम जावाडॉक पर भरोसा करने के बावजूद कुछ और अधिक सुरुचिपूर्ण पा सकते हैं, "एक फैक्ट्री लागू करें और इसे प्रतिनिधि कॉल करें, या इसे सम्मेलन द्वारा XXX स्थान पर बेनकाब करें "
के प्रभारी अपवाद हैंडलिंग रखता है हां, मैं नोट के साथ ऊपर संपादित करूँगा कि हमने फ्लाईवेट के बारे में बात की है - वास्तव में हालांकि मुझे लगता है कि हम ध्यान केंद्रित कर रहे हैं पहुंच की एकता (उदाहरण के लिए मार्कर इंटरफ़ेस की तरह, और सबक्लास पर अनुबंध लागू करना) - इनमें से कोई भी कारखाना या स्थैतिक ट्रांसफॉर्मर ऐसा महसूस नहीं करता है जैसे वे हमें प्राप्त करते हैं) मुख्य कारण मुझे लगता है कि हम कारखाने के विचार से खुश नहीं हैं हालांकि, कभी-कभी हम अनजान महसूस करते हैं, जब हम कुछ सुरुचिपूर्ण के साथ नहीं आ सकते हैं ... – jayshao
हां, विडंबनात्मक रूप से प्रतिबंधित करना हम चाहते हैं;) आदर्श रूप से मिश्रण के अधिक, लेकिन सहयोगी का उपयोग किए बिना वस्तु - हालांकि मैं सहमत हूं, आपका सारांश हमारी वर्तमान सोच के समान है और संभवतः उतना ही अच्छा है जितना हम अभी तक आने में सक्षम होने जा रहे हैं। – jayshao