निम्न-स्तरीय डिज़ाइन (एलएलडी) सॉफ्टवेयर विकास में एक महत्वपूर्ण चरण है जो उच्च-स्तरीय डिज़ाइन और वास्तविक कार्यान्वयन के बीच के अंतर को पाटता है। जबकि उच्च-स्तरीय डिज़ाइन वास्तुशिल्प ब्लूप्रिंट पर केंद्रित है, एलएलडी इस बात से संबंधित है कि समग्र प्रणाली की आवश्यकताओं को पूरा करने के लिए प्रत्येक घटक, वर्ग या फ़ंक्शन को कैसे कार्यान्वित किया जाता है।
सरल शब्दों में, एलएलडी में कक्षाओं, विधियों, इंटरफेस और उनके बीच की बातचीत को डिजाइन करना शामिल है, जिससे यह सुनिश्चित होता है कि कोड कुशल, रखरखाव योग्य और स्केलेबल है। यह सॉफ्टवेयर इंजीनियरों के लिए एक आवश्यक कौशल है, खासकर जब ऐसे सिस्टम का निर्माण करते समय जिन्हें मजबूत, पुन: प्रयोज्य और समय के साथ संशोधित करना आसान हो।
यह ब्लॉग आपको निम्न-स्तरीय डिज़ाइन में शामिल प्रमुख अवधारणाओं, सिद्धांतों और तकनीकों से परिचित कराएगा और दिखाएगा कि वे आपको बेहतर, अधिक रखरखाव योग्य कोड लिखने में कैसे मदद कर सकते हैं।
पहला प्रश्न जो हमारे मन में आता है वह है:
निम्न-स्तरीय डिज़ाइन क्यों महत्वपूर्ण है?
एलएलडी अवधारणाओं और वास्तविक कोड के बीच अंतर को पाटने के लिए, आइए निम्नलिखित चरणों के माध्यम से निम्न-स्तरीय आरेख डिजाइन करने की प्रक्रिया को तोड़ें:
चरण 1:वस्तु उन्मुखी सिद्धांत
चरण 2:ठोस सिद्धांत
चरण 3:डिज़ाइन पैटर्न
निम्न-स्तरीय डिज़ाइनिंग सीखना शुरू करने के लिए ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग अवधारणा के 4 स्तंभ आवश्यक हैं। मैंने इस अवधारणा को संक्षिप्त चेकआउट ब्लॉग में पहले ही कवर कर लिया है
एस: एकल उत्तरदायित्व सिद्धांत (एसआरपी)
उदाहरण: एक ऐसे वर्ग की कल्पना करें जो उपयोगकर्ता प्रमाणीकरण और लॉगिंग दोनों को संभालता है। यदि हमें यह बदलने की आवश्यकता है कि लॉगिंग कैसे काम करती है, तो हमें प्रमाणीकरण वर्ग को भी संशोधित करना होगा। यह एसआरपी का उल्लंघन है. इसके बजाय, हमारे पास दो अलग-अलग वर्ग होने चाहिए: एक उपयोगकर्ता प्रमाणीकरण के लिए और दूसरा लॉगिंग के लिए, इसलिए प्रत्येक वर्ग की एक ही जिम्मेदारी होती है।
ओ: खुला/बंद सिद्धांत (ओसीपी)
उदाहरण: एक भुगतान प्रसंस्करण प्रणाली पर विचार करें जो क्रेडिट कार्ड के माध्यम से भुगतान संभालती है। यदि आपको मौजूदा कोड को संशोधित करने के बजाय पेपैल के लिए समर्थन जोड़ने की आवश्यकता है, तो आपको पेपैल भुगतान के लिए एक नई कक्षा जोड़कर इसे विस्तारित करना चाहिए। यह सुनिश्चित करता है कि नई कार्यक्षमता जोड़ने की अनुमति देते हुए मौजूदा सिस्टम स्थिर बना रहे।
एल: लिस्कोव प्रतिस्थापन सिद्धांत (एलएसपी)
उदाहरण: यदि हमारे पास एक पक्षी वर्ग है जिसमें एक विधि फ्लाई() है, और हम एक उपवर्ग पेंगुइन बनाते हैं, जो उड़ नहीं सकता है, तो यह एलएसपी का उल्लंघन करता है। पेंगुइन वर्ग को फ्लाई() इनहेरिट नहीं करना चाहिए क्योंकि यह अपेक्षित व्यवहार को बदल देता है। इसके बजाय, उन पक्षियों को संभालने के लिए पक्षी वर्ग को दोबारा तैयार किया जाना चाहिए जो अलग ढंग से उड़ सकते हैं और नहीं भी।
I: इंटरफ़ेस पृथक्करण सिद्धांत (आईएसपी)
उदाहरण: मान लीजिए कि हमारे पास फ्लाई(), स्विम() और वॉक() तरीकों वाला एक इंटरफ़ेस एनिमल है। एक क्लास डॉग जो एनिमल को लागू करता है उसे फ्लाई() को परिभाषित करने के लिए मजबूर किया जाएगा, जिसकी उसे आवश्यकता नहीं है। आईएसपी का अनुपालन करने के लिए, हमें कक्षाओं पर अप्रासंगिक तरीकों को लागू करने से बचने के लिए एनिमल इंटरफ़ेस को फ्लाईएबल, स्विमेबल और वॉकेबल जैसे छोटे इंटरफेस में विभाजित करना चाहिए।
डी: निर्भरता व्युत्क्रम सिद्धांत (डीआईपी)
उदाहरण: ई-कॉमर्स एप्लिकेशन में, यदि चेकआउट प्रक्रिया (उच्च-स्तरीय मॉड्यूल) सीधे पेपैल (निम्न-स्तरीय मॉड्यूल) जैसे विशिष्ट भुगतान गेटवे पर निर्भर करती है, तो भुगतान गेटवे को बदलने के लिए चेकआउट प्रक्रिया को संशोधित करने की आवश्यकता होती है। पेमेंटप्रोसेसर इंटरफ़ेस जैसे एक अमूर्त को पेश करके, चेकआउट प्रक्रिया पेपैल या किसी अन्य सेवा की विशिष्टताओं को जानने की आवश्यकता के बिना किसी भी भुगतान विधि के साथ काम कर सकती है।डिज़ाइन पैटर्न
डिज़ाइन पैटर्न को तीन प्रकारों में वर्गीकृत किया जा सकता है:
यदि आप यहां तक पहुंच गए हैं, तो लाइक ❤️ दबाना न भूलें और किसी भी प्रश्न या विचार के लिए नीचे टिप्पणी करना न भूलें। आपकी प्रतिक्रिया मेरे लिए बहुत मायने रखती है, और मुझे आपसे सुनना अच्छा लगेगा!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3