इसके लिए एक विचार यह है कि पुस्तकालयों का कितनी बार उपयोग किया जाता है। यदि वे पूरी तरह से अलग-अलग परियोजनाओं में उपयोग किए जाते हैं, तो आपको सावधान रहना होगा कि आप कोने में खुद को पेंट न करें, जहां आपको यह पता चल जाएगा कि आपने कुछ हफ्ते पहले लाइब्रेरी में किए गए परिवर्तनों को कुछ नए ऐप का समर्थन करने के लिए बदलने के लिए बदल दिया है कुछ अन्य अनुप्रयोगों।
असल में जो मैं कह रहा हूं वह यह है कि आप लाइब्रेरी में परिवर्तन करने के लिए प्रलोभन का विरोध नहीं करना चाहते हैं; पहले स्थान पर आपके सामने उस प्रलोभन को बेहतर न रखने के लिए बेहतर है। यदि पुस्तकालय को पुन: उपयोग के लिए डिज़ाइन किया गया है, तो इसमें कोई भी महत्वपूर्ण परिवर्तन बहुत सावधानी से डिजाइन और कार्यान्वित किया जाना चाहिए, और सभी निर्भर पुस्तकालयों/ऐप्स के विरुद्ध पूरी तरह से परीक्षण किया जाना चाहिए। जब आप सचमुच आपके सामने स्रोत सही होते हैं, तो संशोधित होने का इंतजार करते समय अनुशासित दृष्टिकोण लेना मुश्किल हो जाता है।
मेरा दृष्टिकोण संबंधित पुस्तकालयों के समाधान बनाने के लिए है; उदाहरण के लिए, मेरे पास कोर इंटरफेस और अमूर्त कक्षाओं के लिए एक असेंबली हो सकती है, विभिन्न ठोस कार्यान्वयन के लिए कुछ अन्य असेंबली, यूनिट परीक्षणों के लिए दूसरा, और इसी तरह। यदि निर्भर पुन: प्रयोज्य पुस्तकालयों की परतें हैं तो वे अक्सर एक ही समाधान में फंस जाएंगे।
लेकिन यह एप्लिकेशन स्तर पर रुक जाता है। कोई भी प्रोजेक्ट जो नहीं है कोर लाइब्रेरीज़ के साथ तैनात होने के लिए एक समाधान साझा नहीं करता है, यह बस संकलित डीएलएल का संदर्भ देता है। यह मुझे लाइब्रेरी परिवर्तनों के बारे में अनुशासित होने के लिए मजबूर करता है और कुछ विशिष्ट यूआई फ़ंक्शन का समर्थन करने के लिए इसे ट्वीव करना शुरू नहीं करता है।
मुझे नहीं पता कि यह "सही" दृष्टिकोण है, लेकिन मुझे निर्भरता परीक्षणों के बिना पुस्तकालयों में समय-समय पर परिवर्तन करके पहले काट दिया गया है, और यह हमेशा एक ऐप पर केंद्रित होने का परिणाम रहा है और साइड इफेक्ट्स के बारे में सोच नहीं। मेरा लेना यह है कि जब आप लाइब्रेरी पर काम करते हैं, तो आपको लाइब्रेरी पर पर ध्यान केंद्रित करने की आवश्यकता होती है और यह नहीं कि किसी विशेष परिदृश्य में इसका उपयोग कैसे किया जा रहा है।
प्रतीकों के बारे में अच्छी बात - और आप गति के बारे में सही हैं, मेरे पास कुछ ऐसी परियोजनाएं हैं जो लोड करने और संकलित करने में थोड़ी देर लगती हैं। –