मुझे यह दिलचस्प लेख आया : मैं कोडप्रोजेक्ट पर कॉम कॉम इंटरऑपरेबिलिटी से कैसे प्यार हुआ , जो मुझे सोच में पड़ गया ...
लेखक का तर्क है कि वे अपने .NET पुस्तकालय में कोई COM-ities नहीं चाहते हैं क्योंकि यह उनके .NET पुस्तकालय की सुंदरता से दूर ले जाता है। इसके बजाय, वे बल्कि एक अलग इंटरॉप लाइब्रेरी लिखेंगे जो उनके .NET लाइब्रेरी को COM में उजागर करता है। यह इंटरोप लाइब्रेरी इस तथ्य को संभालेगी कि COM कंस्ट्रक्टर्स को पैरामीटर्स, ओवरलोडेड मेथड, जेनरिक, इनहेरिटेंस, स्टेटिक मेथड्स आदि का समर्थन नहीं करता है।
और जब मुझे लगता है कि यह बहुत उपन्यास है, तो क्या यह परियोजना को संकलित नहीं करता है?
- अब आपको अपने .NET लाइब्रेरी और एक इंटरॉप लाइब्रेरी को यूनिट टेस्ट करने की आवश्यकता है।
- अब आपको अपने सुंदर .NET पुस्तकालय के आसपास काम करने के तरीके का पता लगाने और उसे COM में उजागर करने के लिए समय बिताने की आवश्यकता है।
- आपको अपनी कक्षा की गिनती को प्रभावी ढंग से दोगुना या तिगुना करने की आवश्यकता है।
मैं निश्चित रूप से समझ सकता हूं कि क्या आपको COM और गैर-COM दोनों का समर्थन करने के लिए अपने पुस्तकालय की आवश्यकता है। हालाँकि, यदि आप केवल COM का उपयोग करने का इरादा रखते हैं तो क्या इस तरह का डिज़ाइन कोई लाभ लाता है जो मुझे नहीं दिखता है? क्या आप केवल C # भाषा का लाभ प्राप्त करते हैं?
या, क्या यह आपको एक रैपर प्रदान करके आपके पुस्तकालय को आसान बनाता है? क्या COM के उपयोग की आवश्यकता नहीं होने से यह आपके यूनिट टेस्ट को तेजी से चलाता है?