मैंने OSGi पर कई प्रस्तुतियों को देखा और मुझे लगता है कि यह बेहतर मॉड्यूलरलाइजेशन लागू करने के लिए वादा करता है। स्पष्ट रूप से "हॉट डिप्लॉयमेंट" और "समानांतर में एक्स के विभिन्न संस्करणों को चलाना" मेयर बेचने वाले बिंदु भी हैं।क्या ओएसजीआई जटिलता को कम करने में मदद कर सकता है?
मुझे आश्चर्य है कि क्या ओएसजीआई हल करने का वादा करता है, यह भी एक मुद्दा है ...? यह मुझे ओओ के शुरुआती दिनों की याद दिलाता था जब इसी तरह के दावे नौकरानी थे:
जब ओओ नया था, तो बड़ा तर्क पुन: प्रयोज्यता था। यह व्यापक रूप से दावा किया गया था कि ओओ का उपयोग करते समय, केवल एक को "एक बार लिखना होगा" और फिर "हर जगह उपयोग" कर सकता था।
प्रैक्टिस में मैंने केवल कुछ कम निम्न स्तर के उदाहरणों के लिए यह काम देखा। मुझे लगता है कि इसका कारण यह है कि लेखन पुन: प्रयोज्य कोड कठिन है। तकनीकी रूप से नहीं बल्कि इंटरफ़ेस डिज़ाइन बिंदु से। आपको उम्मीद करनी होगी कि भविष्य के ग्राहक आपकी कक्षाओं का उपयोग कैसे करना चाहते हैं और सही विकल्प चुन सकते हैं। परिभाषा से यह मुश्किल है और इस प्रकार संभावित पुन: प्रयोज्य लाभ अक्सर वितरित करने में असफल रहा।
ओएसजीआई के साथ, मुझे संदेह है कि यहां हम फिर से वादे के लिए गिर सकते हैं, उन समस्याओं के संभावित समाधान जो हमारे पास वास्तव में नहीं हैं। या यदि हमारे पास है, तो हमारे पास पर्याप्त मात्रा और गंभीरता में नहीं है जो मदद के लिए ओएसजीआई में खरीदने के लिए औचित्य साबित होगा। मॉड्यूल के सबसेट के उदाहरण के लिए "हॉट डिप्लॉयमेंट" निश्चित रूप से एक अच्छा विचार है, लेकिन यह कितनी बार वास्तव में काम करता है? कितनी बार नहीं, क्योंकि यह पता चला कि आपको विशेष मुद्दे के लिए मॉड्यूलरलाइजेशन गलत है? मॉडल मॉडलों के बारे में कैसे कई मॉड्यूल के बीच साझा किया जाता है? क्या इन मॉड्यूल को एक ही समय में बदला जाना है? या क्या आप अपनी ऑब्जेक्ट्स को प्राइमेटिव्स में फटकारते हैं और इंटरफ़ेस अनुबंधों को रखने में सक्षम होने के लिए केवल इंटर-मॉड्यूल संचार में ही उपयोग करते हैं?
सबसे कठिन समस्या जब लागू करने OSGi है, मुझे लगता है होता है, मॉड्यूलर "सही" मिलता है। ओएसजीआई के साथ ओओ में सही ढंग से अपने वर्गों के इंटरफेस प्राप्त करने के समान, समस्या इस समय, पैकेज या यहां तक कि सेवा स्तर के बड़े स्तर पर भी रहती है।
जैसा कि आपने अनुमान लगाया होगा, मैं वर्तमान में किसी प्रोजेक्ट में उपयोग के लिए ओएसजीआई का मूल्यांकन करने की कोशिश कर रहा हूं। हमारे पास बड़ी समस्या है, जटिलता बढ़ रही है क्योंकि कोडबेस बढ़ता है और मैं सिस्टम को छोटे मॉड्यूल में तोड़ना चाहता हूं जिसमें कम से कम परिभाषित इंटरैक्शन हैं।
- कोई ढांचा कभी क्या modularize आप के लिए, OSGi कभी बंद भुगतान किया गया है तय करने में मदद कर सकते देखते हुए?
- क्या टीमों में काम करते समय यह आपके जीवन को आसान बना देता है?
- क्या इससे बग गिनती को कम करने में मदद मिली है?
- क्या आपने कभी सफलतापूर्वक "हॉटडियोजित" प्रमुख घटक हैं?
- क्या ओएसजीआई समय के साथ जटिलता को कम करने में मदद करता है?
- क्या ओएसजीआई ने अपने वादे बनाए रखा?
- क्या यह आपकी अपेक्षाओं को पूरा करता है?
धन्यवाद!
ओएसजीआई मुझे एक छिपे हुए ढांचे की तरह दिखता है। – Anurag
कृपया इस समुदाय को विकी बनाएं। – bmargulies