
सॉफ्टवेयर आर्किटेक्चर पर ग्रेडी बूच के ट्वीट्स की एक श्रृंखला:
https://twitter.com/Grady_Booch/status/1301810358819069952
सॉफ्टवेयर-गहन सिस्टम के आर्किटेक्चर के संबंध में एक थ्रेड।
सॉफ्टवेयर-गहन सिस्टम की दुनिया में बड़े पैमाने पर वेब-केंद्रित प्लेटफॉर्म से कहीं अधिक है।
एक अच्छा आर्किटेक्चर स्पष्ट अमूर्तताओं, चिंताओं का अच्छा पृथक्करण, जिम्मेदारियों का स्पष्ट वितरण, और सरलता द्वारा विशेषता है। बाकी सब विवरण है।
आप एक सॉफ्टवेयर-गहन सिस्टम की जटिलता को कम नहीं कर सकते; आप जो सबसे अच्छा कर सकते हैं वह इसे प्रबंधित करना है।
समय की पूर्णता में, सभी जीवंत आर्किटेक्चर को विकसित होना चाहिए।
पुराना सॉफ्टवेयर कभी नहीं मरता; आपको इसे मारना होगा।
कुछ आर्किटेक्चर जानबूझकर हैं, कुछ आकस्मिक हैं, अधिकांश उभरते हैं।
अर्थपूर्ण आर्किटेक्चर विचार-विमर्श, डिज़ाइन और निर्णय की एक जीवंत, सजीव प्रक्रिया है।
दिनों, महीनों, वर्षों और यहां तक कि दशकों में कोड का निरंतर संचय जल्दी से हर सफल नई परियोजना को एक विरासती परियोजना में बदल देता है।
मुझे अपनी टीम का संगठन दिखाएं और मैं आपको आपके सिस्टम का आर्किटेक्चर दिखाऊंगा।
सभी अच्छी तरह से संरचित सॉफ्टवेयर-गहन सिस्टम पैटर्न से भरे होते हैं।
एक सॉफ्टवेयर आर्किटेक्ट जो कोड नहीं करता वह उस रसोइए की तरह है जो खाना नहीं खाता।
पैटर्न और क्रॉस-कटिंग चिंताओं पर ध्यान केंद्रित करना एक ऐसा आर्किटेक्चर दे सकता है जो छोटा, सरल और अधिक समझने योग्य हो।
डिज़ाइन निर्णय इस बात को प्रोत्साहित करते हैं कि एक विशेष हितधारक क्या कर सकता है और साथ ही यह भी बाधित करते हैं कि हितधारक क्या नहीं कर सकता।
शुरुआत में, एक सॉफ्टवेयर-गहन सिस्टम का आर्किटेक्चर दृष्टि का एक कथन है। अंत में, हर ऐसे सिस्टम का आर्किटेक्चर रास्ते में किए गए अरबों छोटे और बड़े, जानबूझकर और आकस्मिक डिज़ाइन निर्णयों का प्रतिबिंब है।
सभी आर्किटेक्चर डिज़ाइन है, लेकिन सभी डिज़ाइन आर्किटेक्चर नहीं है।
आर्किटेक्चर महत्वपूर्ण डिज़ाइन निर्णयों के सेट का प्रतिनिधित्व करता है जो एक सिस्टम के रूप और कार्य को आकार देते हैं, जहां महत्वपूर्ण को परिवर्तन की लागत से मापा जाता है।
लेखक: चक कॉनवे सॉफ्टवेयर इंजीनियरिंग और जेनेरेटिव AI में विशेषज्ञता रखते हैं। उनसे सोशल मीडिया पर जुड़ें: X (@chuckconway) या उन्हें YouTube पर देखें।