कई छोटे लोगों में एक संभावित अखंड आवेदन को विभाजित करने से कीड़े को रोकने में मदद मिलती है
चीजें शायद ही कभी सच में सरल होती हैं।
बंटवारे से निश्चित रूप से उन बगों को रोकने में मदद नहीं मिलती है। यह कभी-कभी बग को तेजी से खोजने में मदद कर सकता है। एक अनुप्रयोग जिसमें छोटे, अलग-अलग घटक होते हैं, उन घटकों के लिए अधिक व्यक्तिगत ("इकाई" - "प्रकार) परीक्षणों की अनुमति दे सकता है, जो कुछ बगों के मूल कारण को कभी-कभी आसान बना सकते हैं, और इसलिए इसे तेजी से ठीक करने की अनुमति देते हैं।
हालाँकि,
यहां तक कि एक आवेदन जो बाहर से अखंड प्रतीत होता है, उसमें बहुत अधिक इकाई-परीक्षण योग्य घटक शामिल हो सकते हैं, इसलिए एक अखंड एप्लिकेशन के लिए यूनिट परीक्षण आवश्यक नहीं है
जैसा कि इवान ने पहले ही उल्लेख किया है, कई घटकों की बातचीत अतिरिक्त जोखिम और बग का परिचय देती है। और जटिल इंटरप्रोसेस संचार के साथ एक एप्लिकेशन सिस्टम को डिबग करना एकल-प्रक्रिया एप्लिकेशन को डीबग करने की तुलना में काफी कठिन हो सकता है
यह इस बात पर भी निर्भर करता है कि एक बड़ा ऐप कितने अच्छे से कंपोनेंट में विभाजित हो सकता है, और कंपोनेंट्स के बीच इंटरफेस कितना व्यापक है और उन इंटरफेस का उपयोग कैसे किया जाता है।
संक्षेप में, यह अक्सर एक व्यापार-बंद है, और कुछ भी नहीं है जहां "हाँ" या "नहीं" उत्तर सामान्य रूप से सही है।
कार्यक्रम अखंड क्यों होते हैं
क्या वे? अपने आस-पास देखें, दुनिया में वेब ऐप्स के गजिलियन्स हैं जो मुझे बहुत अखंड नहीं लगते हैं, बिल्कुल विपरीत। बहुत सारे प्रोग्राम भी उपलब्ध हैं जो एक प्लगइन मॉडल प्रदान करते हैं (AFAIK यहां तक कि आपके द्वारा उल्लेख किया गया माया सॉफ्टवेयर)।
क्या उन्हें बनाए रखना आसान नहीं होगा
यहां "आसान रखरखाव" अक्सर इस तथ्य से आता है कि एक आवेदन के विभिन्न हिस्सों को अलग-अलग टीमों द्वारा और अधिक आसानी से विकसित किया जा सकता है, इसलिए बेहतर वितरित वर्कलोड, क्लियर फोकस के साथ विशेष टीम और।
If the animation and modelling capabilities were split into their own separate application and developed separately, with files being passed between them, would they not be easier to maintain?
मॉड्यूल-सेपर को बनाए रखने के लिए आसान के साथ विस्तार करने के लिए आसान मिश्रण न करें- जटिलताओं या संदिग्ध डिजाइनों से मुक्त नहीं है। माया पृथ्वी पर नरक बनाए रखने के लिए हो सकती है जबकि इसके प्लगइन्स नहीं हैं। या ठीक इसके विपरीत।