रॉबर्ट सी मार्टिन ने अपनी पुस्तक में से एक में चिपचिपाहट के बारे में उल्लेख किया है कि यह रोटिंग डिज़ाइन के लक्षण के रूप में है। मैं सॉफ्टवेयर विकास में चिपचिपाहट के विचार को पूरी तरह से समझ नहीं पा रहा हूं। क्या आप मुझे कुछ उदाहरण दे सकते हैं?रोटिंग डिज़ाइन और चिपचिपाहट
उत्तर
उनके पास दो उपयोग, डिजाइन की चिपचिपापन और पर्यावरण की चिपचिपाहट है।
सबसे पहले, उच्च चिपचिपाहट, टूथपेस्ट और मूंगफली का मक्खन की तरह साथ तरल पदार्थ, पानी की तरह नहीं प्रवाह रूप में आसानी के रूप में कम चिपचिपापन तरल पदार्थ है।
हाई-चिपचिपाहट डिज़ाइन डिज़ाइन को संरक्षित करने के बजाय हैक बनाना आसान बनाता है। हैक कोड को और भी कठोर बनाता है, चिपचिपाहट को और भी आगे बढ़ाता है।
पर्यावरण की चिपचिपापन कार्य प्रवाह को संदर्भित करती है। यदि संकलन के समय लंबे हैं, या यह सिस्टम बनाने या परीक्षण चलाने के लिए दर्द है, तो प्रोग्रामर दर्द को कम करने के लिए शॉर्टकट ले लेंगे।
जैसे कोड बड़ा हो जाता है, यह हैक्स से अधिक भरा हो जाता है, और निर्भरता से अधिक भरा होता है, और इसके परिणामस्वरूप कुछ तोड़ने के बिना बदलना मुश्किल हो जाता है।
तो यह कम "द्रव" और अधिक "ठोस" हो जाता है, इसलिए चिपचिपापन के समानता।
चिपचिपाहट बाहरी बल से परिवर्तनों का प्रतिरोध करने के लिए तरल की क्षमता है। पानी माप के लिए आधार है और इसकी बहुत कम चिपचिपाहट है (यानी यह एक स्थान से दूसरे स्थान पर स्वतंत्र रूप से बहती है), जबकि, कहें, दही जो इतनी उच्च चिपचिपाहट है जब ठंडा हो जाता है कि यह लगभग ठोस और सुंदर है बहुत कुछ रहता है जहां आप इसे डालते हैं (जब तक कि आप हल्के रंग के पैंट पहन रहे हों, इस मामले में यह हर बार अपना रास्ता पाता है ...)।
सॉफ़्टवेयर में, यह अनुवाद करता है कि आपका कोड कितना बदलता है। यदि आपके पास बहुत निर्भरताएं हैं, तो एक प्रमुख वर्ग को बदलना मुश्किल हो सकता है, इस प्रकार कम से कम आदर्श कामकाज होते हैं जो बदले में कोड के प्रतिरोध को बढ़ाते हैं (इसकी चिपचिपापन में वृद्धि)। अच्छी तरह से डिज़ाइन किया गया कोड (कम चिपचिपाहट) को अद्यतन किया जा सकता है और इसमें लागू होने वाले अनुप्रयोगों या अन्य वर्गों पर कोई बड़ा प्रभाव डाले बिना जोड़ा जा सकता है।
- 1. कोड डिज़ाइन और संरचना
- 2. प्रोटोकॉल बफर और ओओ डिज़ाइन
- 3. यूट्यूब स्टोरेज डिज़ाइन और कार्यान्वयन
- 4. जावास्क्रिप्ट फ़ाइल संगठन और डिज़ाइन
- 5. डेटाबेस स्कीमा डिज़ाइन टूल/मॉड्यूलर डेटाबेस डिज़ाइन
- 6. पार्सर और लेक्सर के लिए डिज़ाइन दिशानिर्देश?
- 7. टिप्पणियों और उत्तरों के लिए डेटाबेस डिज़ाइन
- 8. 'अनुयायियों' और 'अनुवर्ती' के लिए डेटाबेस डिज़ाइन?
- 9. लूप, फ़ंक्शन डिज़ाइन और दक्षता: दो प्रश्न
- 10. डोमेन संचालित डिज़ाइन और डोमेन इवेंट
- 11. सिद्धांत ओडीएम और स्कीमा-कम डिज़ाइन
- 12. जावा (स्विंग) में जीयूआई आर्किटेक्चर और डिज़ाइन
- 13. पदों और टिप्पणियों के लिए डेटाबेस डिज़ाइन
- 14. असिंक्रोनस इवेंट लूप डिज़ाइन और समस्याएं
- 15. ओओ डिज़ाइन और प्रतिबिंबित/डुप्लीकेट विधियां
- 16. डोमेन संचालित डिज़ाइन, रिपॉजिटरीज और मिश्रित इकाइयां
- 17. मॉडल-व्यू-प्रेजेंटर और एंड्रॉइड एप्लिकेशन डिज़ाइन
- 18. डेल्फी में डिज़ाइन-टाइम ड्रैग और ड्रॉप?
- 19. डिज़ाइन मोड
- 20. डिज़ाइन समय
- 21. यूआई डिज़ाइन
- 22. एमवीवीएम डिज़ाइन
- 23. सी # डिज़ाइन
- 24. डिज़ाइन मोड
- 25. डिज़ाइन प्रश्न: आप आवर्ती ईवेंट सिस्टम कैसे डिज़ाइन करेंगे?
- 26. वेब एप्लेट गेम डिज़ाइन
- 27. रेल में ओओ डिज़ाइन:
- 28. सुरक्षित एन्क्रिप्टेड डेटाबेस डिज़ाइन
- 29. आर्किटेक्चर डिज़ाइन सहायता
- 30. एक एल्गोरिदम डिज़ाइन करें,