मुझे एक बुद्धिमान प्रणाली है जो उपलब्ध ओएसजीआई सेवाओं के बीच गतिशील रूप से चुन सकती है। यही है, कुछ रनटाइम पैरामीटर के आधार पर एक कार्यान्वयन या दूसरा चुनें। उदाहरण के लिए, एक चल रहे एल्गोरिदम को सूचित करें जो कई पुनरावृत्तियों के बाद ऑपरेटर को बदलता है, या किसी सिस्टम या लोड में लोड संतुलन के आधार पर।एक बुद्धिमान तरीके से कई ओएसजीआई सेवाओं के बीच रनटाइम में कैसे चयन करें?
while(stopCriterion){
operator.doSomething(); //There exist many operator implementations
}
मेरा पहला दृष्टिकोण डी एस उपयोग करने के लिए सेवाओं को बेनकाब और 0..n और गतिशील नीति के साथ सेवाओं बाध्य करने के लिए है। फिर, बाहरी बुद्धिमान घटक से, प्रत्येक पुनरावृत्ति में उपयोग की जाने वाली एल्गोरिदम को सूचित करें (EventAdmin का उपयोग करके, शायद?)।
operator[selected].doSomething();
यह मदद कर सकता है मुझे जटिलता को कम करने के लिए जब विभिन्न सेवा कार्यान्वयन का एक बहुत के साथ कई प्रयोगों निष्पादित किया जाना चाहिए। इसके अलावा, मैं Eclipse Communication Framework साथ रिमोट सेवाएं विनिर्देश उपयोग करने के लिए वितरित एल्गोरिदम में अनुसंधान और सामान बनाने के लिए योजना बना रहा हूँ, इसलिए
हालांकि, मैं अगर यह एक है पता नहीं है निष्पादन समय में नए कार्यान्वयन के गतिशील प्रदर्शित होने के भी संभव हो सकता है अच्छा विचार या गतिशील रूप से कार्यान्वयन का उपयोग करने के लिए एक और बेहतर तंत्र मौजूद है। मुझे लगता है कि सर्विसट्रैकर का उपयोग कर डीएस एक अच्छा विकल्प नहीं है, लेकिन मैं सुझावों के लिए खुला हूं :)
अग्रिम धन्यवाद।
हाय एंडी। मुझे उचित उदाहरण का चयन करने के लिए मध्यवर्ती चयनकर्ता सेवा के बारे में आपका विचार पसंद है :) हालांकि, "ऑपरेटर" और "एल्गोरिदम" के डेवलपर्स शायद ओएसजीआई से परिचित नहीं हैं, और मुझे लगता है कि चयनकर्ता उन्हें भ्रमित कर सकता है। वैसे भी, मैंने आपकी समस्या को हल करने के लिए आपकी टिप्पणी को एक सुंदर रूप पाया। अगर कोई मुझे कोई दूसरा समाधान नहीं देता है, तो मैं आपके उत्तर को "चेक" के रूप में चिह्नित करूंगा (यह स्टैक ओवरफ्लो में मेरा पहला प्रश्न है, मुझे नहीं पता कि मैंने जवाब से अधिक जांच कर या मेरी पसंद को संशोधित कर सकते हैं)। –
ऑपरेटर-कार्यान्वयनकर्ताओं को ओएसजीआई के बारे में बहुत कुछ जानने की आवश्यकता नहीं है, जब तक वे सही इंटरफ़ेस को लागू करते हैं। एक उत्तर स्वीकार करने के लिए: मुझे नहीं लगता कि आप अपनी पसंद को संशोधित कर सकते हैं, इसलिए बुद्धिमानी से चयन करें। (या अधिक मार्गदर्शन के लिए [faq] (http://stackoverflow.com/faq) देखें।) –
धन्यवाद एंजेलो (एंडी नहीं!)। आपका विचार अच्छा है क्योंकि चयनकर्ता अन्य सेवाओं को भी बाध्य कर सकता है जो "एल्गोरिदम" जानकारी निकालने के लिए उपयोग करता है :) (मैं अभी तक आपके उत्तर को ऊपर नहीं उठा सकता, मुझे और अधिक प्रतिष्ठा की आवश्यकता है)। –