पिछले कई वर्षों में, कई लेखकों ने ... ऐसे पैटर्न प्रस्तुत किए हैं जो उच्च-स्तरीय सॉफ़्टवेयर आर्किटेक्चर की विशेषता रखते हैं ... एक आदर्श दुनिया में, प्रत्येक प्रणाली एक या एक से अधिक उच्च-स्तरीय पैटर्न का उदाहरण होगी। फिर भी, ऐसा नहीं है। वास्तुकला जो वास्तव में व्यवहार में प्रबल होती है, उस पर अभी भी चर्चा नहीं की गई है: बिग बैड ऑफ म्यूड ।
MUD का एक बड़ा बल्ला ढुलमुल, संरचित, टेढ़ा, डक्ट-टेप और बेलगाम तार, स्पेगेटी कोड जंगल है। हम सभी ने उन्हें देखा है। ये सिस्टम अनियमित विकास, और दोहराया, समीचीन मरम्मत के अचूक संकेत दिखाते हैं। सिस्टम के दूर के तत्वों के बीच सूचना को साझा किया जाता है, अक्सर उस बिंदु पर जहां लगभग सभी महत्वपूर्ण जानकारी वैश्विक या दोहराई जाती है। सिस्टम की समग्र संरचना को कभी भी अच्छी तरह से परिभाषित नहीं किया जा सकता है। यदि यह था, तो यह मान्यता से परे मिट सकता है। वास्तु संवेदनशीलता की एक कतरन के साथ प्रोग्रामर इन quagmires दूर। केवल वे जो वास्तुकला के बारे में असंबद्ध हैं, और, शायद, दिन-प्रतिदिन की असफलता के साथ आराम कर रहे हैं, इन विफल dikes में छेदों को पैच करने के लिए, ऐसी प्रणालियों पर काम करने की सामग्री है ...
क्यों एक प्रणाली MUD की बड़ी गेंद बन जाती है? कभी-कभी, बड़े, बदसूरत सिस्टम THROWAWAY CODE से निकलते हैं । THROWAWAY CODE त्वरित और गंदा कोड है जिसे केवल एक बार उपयोग करने का इरादा था और फिर त्याग दिया गया। हालांकि, आकस्मिक संरचना और खराब या अस्तित्वहीन प्रलेखन के बावजूद, इस तरह के कोड अक्सर अपने स्वयं के जीवन पर ले जाते हैं। यह काम करता है, तो इसे ठीक क्यों करें? जब एक संबंधित समस्या उत्पन्न होती है, तो इसे संबोधित करने का सबसे तेज तरीका जमीन से ऊपर एक उचित, सामान्य कार्यक्रम को डिजाइन करने के बजाय, इस कार्य कोड को शीघ्रता से संशोधित करना हो सकता है। समय के साथ, एक साधारण फेंकने वाला कार्यक्रम MUD के बड़े आकार को भूल जाता है।
यहां तक कि अच्छी तरह से परिभाषित आर्किटेक्चर वाले सिस्टम संरचनात्मक क्षरण के लिए प्रवण हैं। किसी भी सफल प्रणाली को आकर्षित करने वाली बदलती आवश्यकताओं के अथक हमले धीरे-धीरे इसकी संरचना को कमजोर कर सकते हैं। सिस्टम जो एक बार सुव्यवस्थित हो गए थे, क्योंकि PIECEMEAL GROWTH धीरे-धीरे सिस्टम के तत्वों को अनियंत्रित तरीके से फैलाने की अनुमति देता है।
यदि इस तरह फैलाव जारी नहीं रहता है, तो सिस्टम की संरचना इतनी बुरी तरह से समझौता हो सकती है कि इसे छोड़ देना चाहिए। एक क्षय पड़ोस के साथ, एक नीचे की ओर सर्पिल ensues। चूंकि सिस्टम कठिन और समझने में कठिन हो जाता है, इसलिए रखरखाव अधिक महंगा, और अधिक कठिन हो जाता है। अच्छे प्रोग्रामर वहां काम करने से मना कर देते हैं। निवेशक अपनी पूंजी निकाल लेते हैं। और फिर भी, पड़ोस के साथ, बचने के तरीके हैं, और यहां तक कि रिवर्स, इस तरह की गिरावट। ब्रह्मांड में किसी भी चीज़ के साथ, एंट्रोपिक बलों का मुकाबला करने के लिए ऊर्जा के निवेश की आवश्यकता होती है। सॉफ्टवेयर जेंट्रीफिकेशन कोई अपवाद नहीं है। सॉफ्टवेयर में एन्ट्रापी को गिरफ्तार करने का तरीका इसे रिफलेक्टर करना है। रीफैक्टरिंग के लिए एक निरंतर प्रतिबद्धता एक प्रणाली को MUD के बड़े कॉल में रखने से ले सकती है ...
- ... कीचड़ के सबसे प्रभावी दुश्मनों में से एक धूप है। स्क्रूटनी एरो के लिए कन्वेक्टिड कोड को सब्जेक्ट करने से इसके रीफैक्टरिंग, रिपेयर और रिहेबिलिटेशन के लिए स्टेज सेट हो सकता है। कोड समीक्षा एक तंत्र है जिसे एक दिन में कोड को उजागर करने के लिए उपयोग किया जा सकता है।