कुछ कारणों
Encapsulation कर रहे हैं - एक और पुस्तकालय में दिनचर्या का एक सेट पैकेजिंग करके, या तो एक स्थिर पुस्तकालय या DLLs का एक सेट के रूप में, यह एक ब्लैक बॉक्स हो जाता है। यह एक अच्छा काला बॉक्स होने के लिए, आपको यह सुनिश्चित करना है कि आप सही इनपुट दें और सही आउटपुट प्राप्त करें। जब आप उस लाइब्रेरी का पुन: उपयोग करते हैं तो यह मदद करता है। यह कुछ नियमों को भी लागू करता है और हैक्स द्वारा प्रोग्रामिंग को रोकता है ('हम्म ... मैं अभी उस सदस्य को अभी सार्वजनिक कर दूंगा')
संकलन समय कम करता है - लाइब्रेरी पहले ही अनुपालन की जाती है; आपको इसे संकलित समय पर पुनर्निर्माण करने की आवश्यकता नहीं है, बस उससे लिंक करें (मान लें कि आप सी ++ कर रहे हैं)।
Decoupling - एक स्टैंडअलोन पुस्तकालयों में अपनी कक्षाओं को घेरकर, आप युग्मन को कम कर सकते हैं और आपको अन्य उद्देश्य के लिए लाइब्रेरी का पुन: उपयोग करने की अनुमति देता है। इसी प्रकार, जब तक लाइब्रेरी का इंटरफ़ेस परिवर्तित नहीं होता है, तब तक आप अपनी पसंद की लाइब्रेरी में परिवर्तन कर सकते हैं, और जो लोग इसे लिंक करते हैं या इसका संदर्भ देते हैं उन्हें अपने कोड को बिल्कुल बदलने की आवश्यकता नहीं होती है। डीएलएल इस पहलू में उपयोगी हैं कि पुन: संकलन की आवश्यकता नहीं है, लेकिन यदि कई अनुप्रयोग एक ही डीएलएल के विभिन्न संस्करण स्थापित करते हैं तो काम करने में मुश्किल हो सकती है। आप क्लाइंट के कोड को प्रभावित किए बिना पुस्तकालयों को अपडेट कर सकते हैं। जबकि आप केवल फ़ोल्डरों के साथ ऐसा ही कर सकते हैं, इस व्यवहार को बल देने के लिए कोई स्पष्ट तंत्र नहीं है।
इसके अलावा, विभिन्न पुस्तकालयों के इस अनुशासन का अभ्यास करके, आप यह भी सुनिश्चित कर सकते हैं कि आपने जो लिखा है वह सामान्य और कार्यान्वयन से decoupled है।
लाइसेंसिंग/व्यावसायीकरण - ठीक है, मुझे लगता है कि यह काफी स्पष्ट है।
यह कोड स्वामित्व को और अधिक विशिष्ट बनाता है, जो मुझे लगता है कि एक बुरी चीज है। विशेष कोड स्वामित्व के लिए अधिक संचार की आवश्यकता होती है (जैसा आपने नोट किया) और संचार हमेशा प्राप्त करना मुश्किल होता है। इसके लिए अधिक सहयोग की भी आवश्यकता है (यदि मुझे आपके कोड को बदलने की ज़रूरत है, तो अब इसे स्वयं करना बहुत कठिन है) जो भी प्राप्त करना मुश्किल है। इस परिदृश्य में, एक बुरी टीम खिलाड़ी सभी के लिए f *** चीजें कर सकता है। – Imagist