- मुख्य और सहायक मॉड्यूल
- मॉड्यूलर प्रोग्रामिंग सुविधाएँ
- प्रतिरूपकता
- कार्य की परिभाषा
- चर का दायरा
- यह प्रक्रियात्मक है
- मॉड्यूलर प्रोग्रामिंग उदाहरण
- वास्तविक जीवन में मॉड्यूलरिटी
- जावा में कार्य
- फायदा
- स्वतंत्र परियोजना प्रोग्रामिंग
- कुशल कार्यक्रम विकास
- मॉड्यूल का एकाधिक उपयोग
- डिबगिंग और संशोधन में आसानी
- नुकसान
- अत्यधिक वस्तु-उन्मुख संरचना
- मॉड्यूल बहुत छोटा है
- बिना किसी कारण के विघटन
- अनुप्रयोग
- सी भाषा
- संदर्भ
मॉड्यूलर प्रोग्रामिंग सॉफ्टवेयर विकास, जहां कार्यक्रम कई छोटे ब्लॉक या स्वायत्त घटक मॉड्यूल कहा जाता है, जो, प्रबंधनीय तार्किक और कार्य कर रहे हैं में विभाजित है के लिए इस्तेमाल किया एक तकनीक है।
मॉड्यूल बयानों का एक ब्लॉक है जो किसी विशेष समस्या को हल करता है। प्रत्येक मॉड्यूल में अपनी कार्यक्षमता को पूरा करने के लिए आवश्यक सब कुछ होता है और इसे परियोजना के बाकी हिस्सों को प्रभावित किए बिना संपादित या संशोधित किया जा सकता है।
मॉड्यूल का उपयोग करके किसी समस्या को हल करने का उदाहरण। स्रोत: कायउ / सीसी BY (https://creativecommons.org/licenses/by/3.0)
प्रोग्रामिंग का यह तरीका एक स्थायी मॉड्यूल इंटरफ़ेस को बनाए रखने के द्वारा प्राप्त किया जाता है जो प्रत्येक मॉड्यूल के कार्यों तक पहुंचने के लिए अन्य सॉफ़्टवेयर घटकों द्वारा उपयोग किया जाता है।
मॉड्यूल घटकों के बीच तार्किक सीमाएं लगाते हैं, स्थिरता में सुधार करते हैं। उन्हें इंटरफेस के माध्यम से शामिल किया गया है, जो इस तरह से डिज़ाइन किए गए हैं कि विभिन्न मॉड्यूल के बीच निर्भरता को कम करने के लिए।
मुख्य और सहायक मॉड्यूल
एक मुख्य मॉड्यूल और कई माध्यमिक मॉड्यूल हैं जो मॉड्यूलर प्रोग्रामिंग को बनाते हैं। मुख्य मॉड्यूल से, कॉल सहायक मॉड्यूल के कार्यों के लिए किए जाते हैं।
ये प्लग-इन अलग निष्पादन योग्य फ़ाइलों के रूप में मौजूद हैं, जो मुख्य मॉड्यूल के चलने पर लोड होते हैं। प्रत्येक मॉड्यूल को PROGRAM स्टेटमेंट में एक विशिष्ट नाम दिया गया है।
कार्य दल सिस्टम के सभी मॉड्यूल को जाने बिना अलग-अलग मॉड्यूल विकसित कर सकते हैं। मॉड्यूल को बनाए रखने में डेवलपर्स को लचीलापन प्रदान करने के लिए प्रत्येक मॉड्यूलर एप्लिकेशन एक संस्करण संख्या के साथ जुड़ा हुआ है।
मॉड्यूलर प्रोग्रामिंग सुविधाएँ
प्रतिरूपकता
इसे चलाने के लिए कंप्यूटर को कोड के विस्फोटित संस्करण की आवश्यकता नहीं होती है। यह मानवीय संज्ञानात्मक सीमाएँ हैं जो आपको छोटे-छोटे खंडों में कोड लिखने के लिए मजबूर करती हैं।
एक प्रोग्राम में अन्य फ़ंक्शन हो सकते हैं और उन फ़ंक्शन को भी संदर्भित कर सकते हैं जो अन्य फ़ाइलों में हैं। ये फ़ंक्शन या मॉड्यूल उन बयानों के समूह हैं जिनका उपयोग किसी ऑपरेशन को करने या किसी मान की गणना करने के लिए किया जाता है।
बड़े और जटिल कार्यक्रमों में सादगी और पठनीयता बनाए रखने के लिए, एक छोटे से मुख्य कार्य का उपयोग लंबे कार्यों के बजाय अन्य कार्यों के संयोजन में किया जाता है।
मॉड्यूल के समूहों में एक कार्यक्रम को अलग करके, प्रत्येक मॉड्यूल को समझना आसान होगा, इस प्रकार संरचित प्रोग्रामिंग के मूल दिशानिर्देशों का अनुपालन करना।
कार्य की परिभाषा
एक फ़ंक्शन में कमांड और स्टेटमेंट के बाद इसकी परिभाषा की घोषणा शामिल है। एक फ़ंक्शन का सामान्य रूप है:
फंक्शन_नाम (पैरामीटर घोषणा) {
वाक्य;
आदेशों;
वापसी की अभिव्यक्ति;
}
- मापदंडों की घोषणा उस सूचना को दर्शाती है जो फ़ंक्शन को पास की जा रही है।
- विशेष रूप से फ़ंक्शन द्वारा उपयोग किए जाने वाले अतिरिक्त चर वाक्यों में परिभाषित किए गए हैं।
- सभी कार्यों में रिटर्न स्टेटमेंट शामिल होना चाहिए।
चर का दायरा
चर जिन्हें मुख्य फ़ंक्शन के भीतर या उपयोगकर्ता-परिभाषित कार्यों में घोषित किया जाता है, स्थानीय चर कहलाते हैं। जब फ़ंक्शन निष्पादित होता है, तो उनका मूल्य होता है, लेकिन फ़ंक्शन पूरा होने पर उनका मान बनाए नहीं रखा जाता है।
चर जिन्हें मुख्य कार्यक्रम के लिए बाहरी घोषित किया जाता है या उपयोगकर्ता-परिभाषित कार्यों को वैश्विक चर कहा जाता है। इन चर को किसी भी फ़ंक्शन से लिया जा सकता है जो प्रोग्राम के अंदर है।
यह प्रक्रियात्मक है
मॉड्यूलर प्रोग्रामिंग काफी प्रक्रियात्मक है, क्योंकि यह डेटा को ध्यान में रखे बिना, कार्यों के लिए कोड लिखने के लिए पूरी तरह से उन्मुख है।
मॉड्यूलर प्रोग्रामिंग उदाहरण
वास्तविक जीवन में मॉड्यूलरिटी
मान लीजिए कि एक घर में बिजली है, जिसकी दीवारों पर कई आउटलेट हैं। यह प्रणाली आपको विभिन्न विद्युत उपकरणों में प्लग करने की अनुमति देती है, उदाहरण के लिए, माइक्रोवेव, वॉशिंग मशीन, ड्रायर, आदि।
इन उपकरणों को उनके विशिष्ट कार्य को करने के लिए डिज़ाइन किया गया है जब वे जहां स्थित हैं, वहां प्लग किए गए और चालू किए गए।
एप्लिकेशन के मॉड्यूल को इसी दर्शन का पालन करना चाहिए। इसका मतलब यह है कि उन्हें केवल अपने विशिष्ट कार्य को करना है, चाहे वे उस आवेदन के किस भाग में हों, या यहाँ तक कि वे किस अनुप्रयोग से जुड़े हैं।
इसके अलावा, जिस तरह एक बिजली के उपकरण को आउटलेट से आसानी से अनप्लग किया जा सकता है, एक मॉड्यूल को इस तरह से डिज़ाइन किया जाना चाहिए कि इसे आसानी से किसी एप्लिकेशन से हटाया जा सके।
जिस प्रकार एक विद्युत उपकरण को हटाने से अन्य जुड़े हुए उपकरणों की कार्यक्षमता प्रभावित नहीं होती है, एक अनुप्रयोग से मॉड्यूल को हटाने से उस अनुप्रयोग के अन्य मॉड्यूल की कार्यक्षमता को प्रभावित नहीं करना चाहिए।
जावा में कार्य
जावा मॉड्यूल में स्वतंत्र कार्यों के रूप में लिखा जाता है। उदाहरण के लिए, आपके पास उन सभी पाठ्यक्रमों में उनके ग्रेड के आधार पर एक छात्र के GPA की गणना करने के लिए एक फ़ंक्शन या कोड ब्लॉक हो सकता है।
फ़ंक्शन को इनपुट के रूप में ग्रेड की सूची प्राप्त करने की आवश्यकता है और फिर परिकलित ग्रेड औसत लौटाएं:
इस फ़ंक्शन को कैलक्लेटएवेरियोटेनोट कहा जाता है। यह डेटा प्रकार डबल की एक सरणी का उपयोग करते हुए, इनपुट की नोट्स की एक सूची के रूप में प्राप्त करता है, और गणना की गई औसत देता है।
फ़ंक्शन में, स्थानीय वैरिएबल योग को शून्य से आरंभ किया जाता है और फिर, लूप के लिए, सभी योग्यता को जोड़ दिया जाता है। अंत में, प्राप्त राशि को नोटों की संख्या से विभाजित किया जाता है, जिसके परिणामस्वरूप मूल्य वापस आ जाता है।
यदि इनपुट मैट्रिक्स में 3.5, 3.0 और 4.0 के नोट थे, तो उन्हें जोड़ने के बाद, इसका मूल्य 10.5 होगा और फिर इसे 3 से विभाजित किया जाएगा, क्योंकि तीन नोट हैं। फ़ंक्शन 3.5 मान लौटाएगा।
फायदा
स्वतंत्र परियोजना प्रोग्रामिंग
कई प्रोग्रामर एक ही प्रोजेक्ट पर काम कर सकते हैं यदि इसे मॉड्यूल में विभाजित किया जाए। विभिन्न प्रोग्रामर स्वतंत्र रूप से अलग-अलग प्रोग्राम मॉड्यूल डिजाइन कर सकते हैं, जो एक बड़े और जटिल प्रोग्राम के लिए आवश्यक है।
कुशल कार्यक्रम विकास
कार्यक्रमों को अधिक तेज़ी से विकसित किया जा सकता है, क्योंकि छोटे, स्टैंड-अलोन मॉड्यूल बड़े कार्यक्रमों की तुलना में समझने, डिजाइन करने और परीक्षण करने में आसान होते हैं।
प्रोग्रामर आवश्यक इनपुट प्रदान कर सकता है और सत्यापित कर सकता है कि मॉड्यूल इसकी आउटपुट की जांच करके सही है।
मॉड्यूल का एकाधिक उपयोग
एक कार्यक्रम के लिए लिखे गए कोड अक्सर दूसरों में उपयोगी होते हैं। मॉड्यूलर प्रोग्रामिंग इन वर्गों को भविष्य के उपयोग के लिए सहेजने की अनुमति देता है। क्योंकि कोड स्थानांतरित करने योग्य है, सहेजे गए मॉड्यूल इनपुट और आउटपुट आवश्यकताओं को पूरा करने वाले किसी अन्य प्रोग्राम से जोड़ा जा सकता है।
अखंड प्रोग्रामिंग के साथ, कोड के ऐसे अनुभाग प्रोग्राम के भीतर एम्बेडेड होते हैं और अन्य कार्यक्रमों द्वारा उपयोग के लिए उपलब्ध नहीं होते हैं।
डिबगिंग और संशोधन में आसानी
एक मॉड्यूल एक पूर्ण कार्यक्रम से छोटा है, इसलिए यह परीक्षण करना आसान है। प्रत्येक मॉड्यूल को बाकी कार्यक्रम से अलग से लिखा और परीक्षण किया जा सकता है। एक मॉड्यूल का परीक्षण किए जाने के बाद, इसे फिर से परीक्षण किए बिना एक नए कार्यक्रम में उपयोग किया जा सकता है।
जब एक कार्यक्रम को संशोधित किया जाना चाहिए, तो मॉड्यूलर प्रोग्रामिंग नौकरी को सरल बनाती है। नए या डीबग किए गए मॉड्यूल को बाकी प्रोग्राम को बदले बिना किसी मौजूदा प्रोग्राम से जोड़ा जा सकता है।
नुकसान
अत्यधिक वस्तु-उन्मुख संरचना
यह प्रोग्रामिंग इंटरफेस का उपयोग करता है, जो एक बहुत प्रभावी विचार है। इसका लाभ उठाने के लिए, कुछ रूपरेखाएं विनिमेय वर्गों का एक पूरा सेट लेकर आती हैं। उदाहरण के लिए, दृढ़ता को संभालने के लिए, कई कक्षाएं हो सकती हैं जो दृढ़ता इंटरफ़ेस को लागू करती हैं।
हालाँकि, एकीकृत विकास परिवेश (IDE) इस बारे में भ्रमित हो जाते हैं। उदाहरण के लिए, आप किसी विधि के स्रोत को खोजने का प्रयास कर सकते हैं, और आईडीई को यह पता नहीं होगा कि आप किस विधि को देखना चाहते हैं, इस प्रकार फाइलों की एक लंबी सूची प्रदर्शित करते हैं जहां उस नाम के साथ एक विधि मौजूद है।
मॉड्यूल बहुत छोटा है
बहुत सारे मॉड्यूल हैं जिनमें केवल एक बहुत छोटा फ़ंक्शन होता है। प्रत्येक मॉड्यूल को कोड में इसके शीर्षक के अलावा अतिरिक्त पार्सिंग और प्रसंस्करण समय की आवश्यकता होती है।
इसलिए, कई छोटे मॉड्यूल का उपयोग करके संकलन प्रणाली में एक ओवरहेड जोड़ दिया जाएगा, जिससे पैकेज का आकार बढ़ जाएगा।
बिना किसी कारण के विघटन
कुछ कोड लगभग कभी नहीं बदलते हैं। उन मामलों में इसे साफ-सुथरा बनाने या अमूर्त तर्क के साथ देखने की कोशिश करने का कोई मतलब नहीं हो सकता है, अगर सिर्फ इसका इस्तेमाल करने से यह पहले से ही ठीक हो जाता है।
ऐसे कोड हैं जो बहुत सुंदर नहीं लगते हैं, फिर भी वे हाल के वर्षों में बहुत नहीं बदले हैं। कोड को विघटित करने का कोई कारण नहीं है जो कभी नहीं बदला है और पहले से ही मॉड्यूल में अच्छी तरह से काम कर रहा है।
अनुप्रयोग
मॉड्यूलर प्रोग्रामिंग सिर्फ एक अवधारणा है। इसका अभ्यास किसी भी प्रोग्रामिंग भाषा में लागू किया जा सकता है, विशेष रूप से एक प्रक्रियात्मक प्रकृति के, जिनके पास एक अलग संकलित कार्यक्रम है।
अलग-अलग संकलित मॉड्यूल से निर्मित घटक पुस्तकालयों को एक लिंक में एक प्रोग्रामिंग टूल का उपयोग करके जोड़ा जा सकता है जिसे लिंकर कहा जाता है।
मुख्य मॉड्यूल द्वारा उपयोग किए जाने वाले कार्यों को निर्यात किए जाने की स्थिति में उनकी पहुंच को सुविधाजनक बनाने के लिए विभिन्न मॉड्यूल में फ़ंक्शन के नाम अद्वितीय होने चाहिए।
मॉड्यूलर प्रोग्रामिंग की अवधारणा का समर्थन करने वाली प्रोग्रामिंग भाषाओं में C, Ada, PL / I, Erlang, Pascal, Algol, COBOL, RPG, Haskell, Python, HyperTalk, IBM / 360 Assembler, MATLAB, Ruby, IBM RPG, हैं। स्मॉलटॉक, मॉर्फो, जावा (पैकेज को मॉड्यूल माना जाता है), पर्ल, आदि।
सी भाषा
मॉड्यूलर प्रोग्रामिंग को सी भाषा में लागू किया जा सकता है क्योंकि यह कई मॉड्यूल में अलग करके एक बड़ी कठिनाई को मापना संभव बनाता है।
इनमें से प्रत्येक मॉड्यूल एक विशेष समस्या को हल करता है, जबकि मुख्य कार्यक्रम, जो इस तरह की प्रक्रियाओं का सेट है, समस्या को समग्र रूप से हल करता है।
C में परिभाषित प्रत्येक फ़ंक्शन विश्व स्तर पर डिफ़ॉल्ट रूप से सुलभ है। यह एक हेडर फ़ाइल को शामिल करके किया जा सकता है, जहां फ़ंक्शन के कार्यान्वयन को परिभाषित किया गया है।
एक उदाहरण के रूप में, हम एक स्टैक डेटा प्रकार घोषित करना चाहते हैं और यह भी कि कार्यान्वयन और डेटा संरचना उपयोगकर्ताओं से छिपी हुई है।
यह स्टैक.ह नामक एक सार्वजनिक फ़ाइल को पहले परिभाषित करके किया जा सकता है, जिसमें स्टैक डेटा प्रकार के साथ सामान्य डेटा और स्टैक डेटा प्रकार द्वारा समर्थित फ़ंक्शन शामिल होंगे।
stack.h:
extern stack_var1;
extern int stack_do_something (शून्य);
अब आप एक फाइल बना सकते हैं, जिसका नाम stack.c है जिसमें स्टैक डेटा प्रकार का कार्यान्वयन शामिल है:
संदर्भ
- सीआईओ विकी (2019)। मॉड्यूलर प्रोग्रामिंग। से लिया गया: cio-wiki.org
- आईटी परिभाषाएँ (2020)। मॉड्यूलर प्रोग्रामिंग। से लिया गया: defit.org
- न्यू मैक्सिको टेक (2020)। कार्यों के साथ मॉड्यूलर प्रोग्रामिंग। से लिया गया: ee.nmt.edu
- क्रिश्चियन मैओली (2020)। मॉड्यूलर कोड लिखने के लिए 3 रचनात्मक तकनीकें। टेक बीकन। से लिया गया: techbeacon.com
- जीक्स फॉर जीक्स (2020)। प्रोग्रामिंग में मॉड्यूलर दृष्टिकोण। से लिया गया: geeksforgeeks.org
- अध्ययन (2020)। मॉड्यूलर प्रोग्रामिंग: जावा में परिभाषा और अनुप्रयोग। से लिया गया: study.com।