एमवीसी क्या है? इस सॉफ्टवेयर आर्किटेक्चर को जानें!

के बारे में जानना एमवीसी क्या है? और इस नए प्रकार के सॉफ़्टवेयर ने कोड की दुनिया और इसकी सबसे महत्वपूर्ण विशेषताओं में कैसे क्रांति ला दी है, यह सब हम आपको आगे बताएंगे।

एमवीसी-2 क्या है?

एमवीसी या मॉडल व्यू कंट्रोलर, कोड करने का नया तरीका

एमवीसी क्या है?

एमवीसी का मतलब मॉडल व्यू कंट्रोलर है, इसका लक्ष्य एक सॉफ्टवेयर डिजाइन फाउंडेशन के रूप में काम करना है। एक सॉफ़्टवेयर आर्किटेक्चर ऐसे मार्गदर्शक होते हैं जो इन तत्वों के निर्माण की सुविधा प्रदान करते हैं, यह एक मॉडल देते हैं कि यह कैसा होना चाहिए।

एमवीसी, अन्य सॉफ्टवेयर आर्किटेक्चर के विपरीत, प्रत्येक कोड को अलग करता है ताकि वे एक विशिष्ट कार्य के प्रभारी हों, इस तरह, कोड को एक ही कार्य में विकसित किया जाता है और बिना किसी रुकावट के किया जाता है।

इसके उपयोग को सुविधाजनक बनाने के लिए यूजर इंटरफेस का उपयोग करें, क्योंकि इन्हें समझना आसान है और ये कंप्यूटर को इंटरनेट उपयोगकर्ता से सीधे जोड़ते हैं। इसी प्रकार, एमवीसी कोड का उपयोग विभिन्न कार्यक्रमों या योजनाओं के लिए किया जा सकता है।

इसका उपयोग समय लंबा, व्यावहारिक है और इसकी बातचीत सरल है, क्योंकि यह अतीत की तरह कई जटिलताओं के बिना सॉफ्टवेयर बनाना चाहता है। सिस्टम अलग-अलग कोड का उपयोग करता है, भले ही वे पहले से ही उपयोग किए गए हों, और उन्हें डिस्कनेक्ट कर देता है ताकि वे केवल एक ही कार्य या अवधारणा पर काम करें।

जैसा कि ऊपर बताया गया है, यह एक वास्तुकला है, लेकिन क्यों? खैर, एक निर्माण योजना की तरह, यह तीन अलग-अलग कार्यशील विमान स्थापित करता है; मॉडल, दृश्य और नियंत्रक।

कोड अवधारणा को अलग करने का यह विचार पुराना है और उभरे अच्छे फ्रेमवर्क के कारण इसे गति मिली। फ्रेमवर्क एक प्रकार का सॉफ्टवेयर है जो किसी समस्या को हल करना चाहता है और इसका निर्माण समस्या पर ही आधारित होता है।

एमवीसी क्या है?: मॉडल, दृश्य और नियंत्रकों का इतिहास

ऐसा कहा जाता है कि मॉडल, व्यू और कंट्रोलर का विचार किसी भी वेब पेज के निर्माण से पहले ही किया गया था। यह जीयूआई या वीडियो ग्राफिकल इंटरफेस से आया एक विचार था; जीयूआई ऐसे उपकरण हैं जो यूजर इंटरफेस के साथ काम करते हैं, जो सॉफ्टवेयर का उपयोग करते हैं जो दृश्य सामग्री के साथ सिस्टम में उपलब्ध डेटा का प्रतिनिधित्व करता है।

यह सॉफ्टवेयर का उपयोग करने वाले अग्रणी नवाचारों में से एक था जिसने इसकी अवधारणाओं को विभिन्न कार्यों में विभाजित किया। इसकी शुरुआत 70 के दशक में एक अवधारणा के रूप में हुई, बाद में, 80 के दशक में, स्मॉलटॉक-80 का एक संस्करण लागू किया गया।

स्मॉलटॉक-80, एक सक्रिय प्रोग्रामिंग भाषा है, जो एमसीवी के विपरीत, अपनी अवधारणाओं और कार्यों को अलग नहीं करती है। एमसीवी बाइंडिंग एक कार्यशील लाइब्रेरी के लिए दी जाएगी, इसकी नींव का परीक्षण किया जाएगा।

अंततः, 80 के दशक के अंत में, एमवीसी को स्मॉलटॉक-XNUMX से अलग करके अपनी अवधारणा के रूप में जारी किया गया। अपनी स्थापना के समय, एमसीवी एक बहुत ही बुनियादी कार्यक्रम था जिसने अभी तक केवल इनपुट मोड पर आधारित अपने विशिष्ट कोड पृथक्करण को लागू नहीं किया था।

कुछ महीनों के विकास के साथ यह बदल रहा था, दृश्य को लागू करना, जो आउटपुट मॉडल था, और इसे इनपुट मॉडल के साथ जोड़ना। इन वर्षों में, इस प्रकार का मॉडल वर्तमान अनुप्रयोगों के लिए पर्याप्त नहीं रह गया था, इसलिए, एमवीसी उस अवधारणा के रूप में विकसित हुआ जिसे आज जाना जाता है, हालांकि, यह विभिन्न संस्करणों से गुजरा जब तक कि यह आज जैसा नहीं बन गया।

पदानुक्रमित मॉडल दृश्य नियंत्रक (एचएमवीसी)

यह पहली विविधताओं में से एक है, यह 2000 की शुरुआत में सामने आई। एमवीसी के विपरीत, एचएमसीवी पहले मॉडल को कॉन्फ़िगर करता है और बाद में दृश्य को, थोड़ी लंबी प्रक्रिया होती है; यह संस्करण दृश्य को सीधे डेटा की समीक्षा करने या उस तक पहुंचने की अनुमति नहीं देता है।

मॉडल व्यू एडाप्टर (एमवीए)

यह एमवीसी के समान संस्करण है, जिसमें प्रत्येक कार्य या कोड को स्तरों के आधार पर अलग करने के लिए एक समान वास्तुकला है। अपने पूर्ववर्ती के विपरीत, एमवीए प्रत्येक कार्य को स्तरित करता है, लेकिन एमवीसी की तरह मॉडल और दृश्य के बीच किसी भी संबंध की अनुमति नहीं देता है।

मॉडल व्यू प्रस्तुतकर्ता (एमवीपी)

मॉडल व्यू प्रेजेंटर का उपयोग अभी भी उपयोगकर्ता और पीसी के बीच कनेक्शन बिंदुओं को डिजाइन करने के लिए किया जाता है। इसका उपयोग उन परीक्षणों के लिए किया जाता है जहां सर्वर स्वायत्त प्रतिक्रिया देता है और मॉडल द्वारा उसे दिए गए डेटा को परिवर्तित करता है और दृश्य के लिए इसे संपीड़ित करता है।

मॉडल दृश्य दृश्य मॉडल (एमवीवीएम)

इस प्रकार का सॉफ़्टवेयर आर्किटेक्चर मॉडल और दृश्य की संपूर्ण संरचना को अनलिंक करता है, जो एक दूसरे से जुड़े होते हैं, जिससे पूर्ण डेटा स्थानांतरण प्राप्त होता है। यह एक अच्छा दृश्य मॉडल विकसित करता है और अनुप्रयोगों में अच्छा ग्राफिक्स विकास प्रदान करता है।

एमवीसी क्या अच्छा है?

यह टूल एक सॉफ्टवेयर निर्माण प्रणाली है, जिसका उपयोग उत्कृष्ट गुणवत्ता वाले एप्लिकेशन बनाने के लिए किया जाता है, इसलिए आज जब प्रोग्रामिंग की मांग की जाती है तो सर्वोत्तम गुणवत्ता और आसानी होती है।

वेब और कंप्यूटर के निर्माण के बाद से, प्रोग्रामिंग में तेजी आई है और सिस्टम इंजीनियरों ने एक महत्वपूर्ण भूमिका निभाई है, क्योंकि वे महान एप्लिकेशन या सॉफ़्टवेयर डिज़ाइन करते हैं जिन्होंने पूरी दुनिया में क्रांति ला दी है। प्रत्येक प्रोग्राम के निर्माण के लिए पर्याप्त कोड प्रणाली का उपयोग करना आवश्यक है।

प्रोग्रामिंग कुछ भारी और जटिल हुआ करती थी, जिसे सिस्टम या एप्लिकेशन के रूप में कुछ नया लाने में काफी समय लग सकता था, हालांकि, धीरे-धीरे ऐसी सेवाएं या प्रोग्राम विकसित किए गए जो प्रक्रिया को सुविधाजनक बनाते थे। उन प्रोग्रामों से जो कोड को अलग करते थे या उसे एक साथ रखने में कामयाब होते थे, भले ही वह एक-एक करके हो।

मॉडल व्यू कंट्रोलर सिस्टम इंजीनियरों या प्रोग्रामर के लिए एकदम सही समाधान था, क्योंकि यह प्रत्येक ऑपरेशन को व्यवस्थित करता था जिसे कोड को स्तरों के अनुसार करना होता था और कोई भी कार्य दूसरे को बाधित नहीं करता था।

जिस तरह से एमवीसी कोड को पुन: उपयोग करने की अनुमति देता है, जिससे प्रोग्राम किए गए किसी भी तत्व में पूर्ण तरलता प्राप्त होती है, उससे प्रोग्रामिंग प्रक्रिया बहुत आसान हो जाती है।

एमवीसी न केवल प्रोग्राम करना आसान बनाता है, बल्कि इसे तेजी से करने की भी अनुमति देता है और परिणामस्वरूप उच्च गुणवत्ता वाले ऐप्स प्राप्त होते हैं।

यदि आपको यह लेख पसंद आ रहा है तो मैं आपको पढ़ने के लिए आमंत्रित करता हूँ "जावा में कक्षाएं और ऑब्जेक्ट", जावा के बारे में अवधारणाओं का एक संपूर्ण कार्य, आपको निश्चित रूप से पसंद आएगा।

एमवीसी के बिना एचटीएमएल

इस सॉफ़्टवेयर आर्किटेक्चर की सभी व्याख्याएँ पहली बार में अस्पष्ट हो सकती हैं, हालाँकि, वे HTML, CSS और PHP तत्वों जैसे कुछ को ध्यान में रखते हैं।

उनमें से प्रत्येक का उपयोग किसी पेज को प्रोग्राम करने या डिज़ाइन करने के लिए किया जाता है; सबसे आम HTML है, जिसकी शुरुआत में इतनी सुगठित संरचना नहीं थी और प्रोग्रामिंग के समय यह अपने किसी भी फ़ंक्शन को अलग नहीं करता था, परिणामस्वरूप, कोड मिश्रित हो जाता था और यदि आप कुछ बदलना चाहते थे। आपको सारा कोड बदलना पड़ा...

HTML समस्या ने प्रोग्रामिंग के कार्य को बहुत कठिन बना दिया, साथ ही कुछ कोड लेखकों को प्रोग्रामिंग के समय जिम्मेदारियों को अलग करने के लिए कुछ बनाने का अच्छा विचार आया: उन्होंने CSS भाषा बनाई। सीएसएस भाषा पूरे कोड को दोहराने या बदलने की कठिन गतिविधि को हटाकर, प्रत्येक कोड के कार्य को निर्दिष्ट करने और अलग करने की अनुमति देती है।

स्पेगेटी कोड

HTML का मामला, न केवल इसके साथ होता है; आम तौर पर, अलग-अलग पेज बनाने के लिए आप कोड को जोड़ते हैं, जो विभिन्न कार्यों को पूरा करते हैं। कोड एक साथ बंधे होते हैं ताकि आप जो चाहते हैं वह प्रदर्शित हो, जो फायदेमंद है, हालांकि, कुछ कोड में थोड़ी सी भी गलती होने पर आपको पूरी प्रक्रिया दोहराने के लिए मजबूर होना पड़ता है।

जिस भाषा का उपयोग किया जाता है वह मिश्रित होती है और इसके परिणामस्वरूप प्रोग्रामर को चरण दर चरण उन चीजों को ठीक करना पड़ता है, जो शायद संबंधित भी नहीं होती हैं।

इस प्रकार की सभी त्रुटियों या स्थितियों को भाषा के सरल पृथक्करण से हल किया जाता है, साथ ही यह भी कहा जाता है कि प्रत्येक व्यक्ति अपने हाथ में लिए गए कार्य पर ध्यान केंद्रित करता है। न केवल पृथक्करण त्रुटियाँ होती हैं, बल्कि किसी कोड का पुन: उपयोग करने की इच्छा होने पर धृष्टता भी होती है, जो पहले उलझा हुआ था।

यदि उसी कोड का उपयोग किसी अन्य प्रोग्राम या कार्य के लिए किया जा रहा है, तो इसे बहुत धीरे-धीरे करना होगा, एमवीसी के लिए धन्यवाद, यह अब आवश्यक नहीं है, क्योंकि कोड का पुन: उपयोग किया जाता है और जो पहले ही बनाया गया था उसे फिर से एक साथ रखा जाता है। पल।

एमवीसी प्रणाली इस प्रकार काम करती है, प्रक्रिया कैसे होती है इसका एक सरल प्रतिनिधित्व

मॉडल व्यू प्रस्तुतकर्ता का परिचय

लेख की शुरुआत से यह बताया गया है कि मॉडल कैसे काम करता है और क्यों, हालांकि, इसके प्रत्येक भाग को विशेष रूप से समझाया नहीं गया है: मॉडल, दृश्य और नियंत्रक।

आदर्श

यह पहला स्तर है और यह सिस्टम और उसके संचालन से संबंधित सभी डेटा का पता लगाता है, यानी यह सिस्टम की सामग्री, संभावित अपडेट का प्रबंधन करता है।

इसमें "बिजनेस लॉजिक" भी है, जिसमें यह शामिल है कि सिस्टम अपने विज़ुअलाइज़ेशन के लिए जानकारी को कैसे संग्रहीत, रूपांतरित और परिवर्तित करता है।

मॉडल उपयोगकर्ता को अंतहीन फ़ाइलों के माध्यम से खोज किए बिना, उसकी ज़रूरत की जानकारी का उपयोग करने की अनुमति देता है, उसे बस दर्ज करने की आवश्यकता है और यह उसे "दृश्य" के माध्यम से दिखाएगा, उसे क्या चाहिए। सिस्टम या जानकारी में कुछ संशोधित करने के लिए, आपको "नियंत्रक" से गुजरना होगा, जो मॉडल को जानकारी भेजता है।

आमतौर पर, डेटा को अन्य नियंत्रकों के साथ काम किया जाता है और, SQL (डेटा पर पूर्ण नियंत्रण रखने के लिए एक सिस्टम भाषा) का उपयोग करने के बजाय, यह सीधे डेटा के अन्य हिस्सों से जुड़ा होता है, जिसमें इसकी कक्षा और ऑब्जेक्ट शामिल होते हैं।

ला विस्टा

दृश्य वह चरण है जहां मॉडल द्वारा भेजी गई जानकारी उपयोगकर्ता को ऑप्टिकल इंटरफ़ेस में सामग्री प्रदर्शित करके प्रस्तुत की जाती है। प्रोग्राम कोड प्रतिबिंबित होता है, जिस पर काम किया जाएगा और उपयोगकर्ता इंटरफ़ेस में दिखाया जाएगा।

यह तत्व HTML और PHP कोड के साथ काम करता है, क्योंकि वे पेज, सर्वर आदि बनाने के लिए सबसे उपयुक्त कोड हैं। ये कोड आउटपुट पर भेजे जाते हैं, जो मॉडल द्वारा भेजी गई जानकारी का कुल परिवर्तन है।

नियंत्रक

नियंत्रक वह है जो मॉडल के माध्यम से उपयोगकर्ता के अनुरोधों का जवाब देता है। अनुरोध किसी भी प्रकार की जानकारी को संपादित करने, बनाने या खोजने से लेकर जानकारी से संबंधित होते हैं।

यह एक उपकरण है जो आपको यह संपादित करने की भी अनुमति देता है कि जानकारी कैसे प्रदर्शित की जाती है, यानी, जानकारी कैसे संसाधित की जाएगी और "दृश्य" में दिखाई देगी, यह बदले में मॉडल जानकारी देने के तरीके में बदलाव है। संक्षेप में, नियंत्रक मॉडल और दृश्य के बीच एक पुल है, जो एक अनुरोध स्वीकार करता है और अन्यथा इसे प्रतिबिंबित करने के लिए दृश्य तक पहुंच सकता है।

नियंत्रक वह होता है जो उस प्रोग्राम पर प्रतिक्रिया देता है जो किया जा रहा है या जो एप्लिकेशन बनाया जा रहा है उसे क्या चाहिए, इसका अंतिम उद्देश्य यह है कि इसकी शुरुआत से लेकर इसके बाहर निकलने तक सभी जानकारी आती है।

एमवीसी क्या है?

घटक कैसे परस्पर क्रिया करते हैं?

जैसा कि देखा जा सकता है, प्रत्येक घटक का कार्य एक आदेश द्वारा उत्पन्न होता है और प्रत्येक घटक दूसरे के कार्य को प्रभावित करता है। नियंत्रक दूसरों से जुड़ता है, जिससे कार्य प्रवाह अधिक होता है और यह प्रोग्राम या एप्लिकेशन बनाने के लिए होता है, हालांकि, यह इस बात का बेहतर स्पष्टीकरण है कि पूरी प्रक्रिया कैसे की जाती है:

  1. इंटरनेट उपयोगकर्ता उपयोगकर्ता इंटरफ़ेस में प्रवेश करने के लिए विभिन्न विकल्पों का उपयोग करना शुरू कर देता है, अर्थात वह कुछ पूरक के माध्यम से पेज या सर्वर में प्रवेश करता है।
  2. अनुरोध नियंत्रक द्वारा प्राप्त किया जाता है, जो दृश्य और मॉडल को संदेश भेजता है। प्रत्येक अनुरोध एक इवेंट हैंडलर (एक जावा या HTML कोड, जो एक बाहरी कोड प्रतिक्रिया देता है) के माध्यम से ट्रिगर किया जाता है।
  3. अनुरोध को पूरा करने के लिए नियंत्रक, मॉडल में जाता है, जहां वह जानकारी का उपयोग करता है और कार्रवाई को उसकी आवश्यकता के अनुसार संशोधित करता है। कुछ क्रियाएं करने के लिए, नियंत्रक को अलग-अलग इनकैप्सुलेटेड कोड का उपयोग करना चाहिए, संक्षेप में, एक कमांड पैटर्न।
  4.  कुछ मामलों में, नियंत्रक पूरे कार्य को पूरा करने के लिए मॉडल से अधिक डेटा का उपयोग करेगा, जिसे उसे एक पुल के रूप में कार्य करते हुए दृश्य में भेजना होगा।
  5. नियंत्रक इंटरनेट उपयोगकर्ता द्वारा दी गई सभी जानकारी और ऑर्डर को दृश्य में भेजता है, जिसमें जो वांछित है उसका एक डिस्प्ले प्रदर्शित होना चाहिए।
  6. दृश्य, एक अच्छा विज़ुअलाइज़ेशन देने के लिए, मॉडल से प्राप्त सभी जानकारी का उपयोग करता है और उसमें मौजूद सभी चीज़ों को प्रतिबिंबित करता है।
  7. चूँकि मॉडल को इस बात की जानकारी नहीं हो सकती कि दृश्य में क्या हो रहा है, यह एक प्रकार के सॉफ़्टवेयर का उपयोग करता है जो इसे किसी भी परिवर्तन की चेतावनी देता है और इस तरह, जानकारी या इंटरफ़ेस में आवश्यक परिवर्तन करता है।
  8. इंटरफ़ेस प्रत्येक इंटरैक्शन के आधार पर प्रक्रिया को दोहराता है जो इंटरनेट उपयोगकर्ता द्वारा किए जाने वाले कार्यों की संख्या पर निर्भर करता है।

वेब अनुप्रयोगों में इसका उपयोग कैसे किया जाता है?

जब एमवीसी सॉफ्टवेयर बनाया गया था, तो यह सोचा गया था कि इसे डेस्कटॉप टूल में लागू किया जाएगा, क्योंकि इसका संचालन और प्रतिक्रिया तत्काल होगी। तकनीकी प्रगति ने सॉफ़्टवेयर को वर्चुअल अनुप्रयोगों के लिए अनुकूलित करना संभव बना दिया है, जिससे डेस्कटॉप प्रोग्राम की तरह पूर्वनिर्धारित हुए बिना प्रतिक्रिया देने का प्रबंधन किया जा सके।

एमवीसी को आभासी भाषाओं के लिए अनुकूलित किया गया था, जिससे विभिन्न स्तरों को एचटीएमएल या जावास्क्रिप्ट जैसी भाषाओं के साथ सामंजस्य स्थापित किया जा सके। फ़्रेमवर्क का उपयोग एमवीसी आर्किटेक्चर को समेटने में सक्षम होने के लिए किया जाता है, जो वेब के लिए अपना स्वयं का निर्माण करता है।

वर्चुअल प्रतिक्रिया के लिए एमवीसी आर्किटेक्चर "क्लाइंट और सर्वर" का है, इस योजना में क्लाइंट एक अनुरोध करता है और सर्वर रिसीवर होगा, जो अनुरोध किए गए परिणाम या प्रतिक्रिया देगा।

शुरुआत में, इस प्रकार की वास्तुकला को लागू करने के लिए, वेब विकास इतना पूर्ण नहीं था, इसलिए, "पतले ग्राहक" संरचना पर ध्यान केंद्रित किया गया था। लाइट क्लाइंट एक प्राथमिक संरचना है, क्योंकि प्रतिक्रिया केंद्रीय सर्वर में दी जाती है और इसलिए, इसमें थोड़ी देर हो सकती है; प्रतिक्रिया लिंक सीधे इनपुट और आउटपुट के बीच है, बिना किसी पुल या प्रक्रिया के।

यह दृष्टिकोण बहुत अच्छी तरह से काम किया गया था, सब कुछ उस क्षण से होता है जब इंटरनेट उपयोगकर्ता लिंक में प्रवेश करता है, तब से लिंक लॉन्च करने वाली कार्रवाई नियंत्रक के माध्यम से जाती है और दृश्य को आदेश देती है ताकि यह उस छवि को प्रतिबिंबित करे जो उपयोगकर्ता को चाहिए कल्पना करो.. एमवीसी के तीन घटक वर्चुअल सर्वर में पाए जाते हैं, जो उत्तर देगा।

एमवीसी और डेटाबेस

तकनीकी प्रगति ने सर्वर और नई भाषाओं के विकास की अनुमति दी है जो एमवीसी का बेहतर विकास उत्पन्न करते हैं, जो उपयोगकर्ता के लिए प्रतिक्रिया को कम जटिल और अधिक प्रत्यक्ष बनाते हैं।

अनुप्रयोगों के अच्छे विकास के लिए, एमवीसी के पास एक डेटाबेस होना चाहिए जो समर्थन के रूप में कार्य करे। डेटाबेस एप्लिकेशन की सभी जानकारी के लिए एक प्रबंधन प्रणाली है, जो मॉडल के लिए एक समर्थन है, जो इसे अपनी ज़रूरत की हर चीज़ को संग्रहीत या संशोधित करने की अनुमति देता है।

दृश्य और नियंत्रक डेटाबेस के बाहर रहते हैं, क्योंकि परतों द्वारा पृथक्करण होता है, जिससे ग्राफ़िकल भाग को सर्वोत्तम तरीके से अनुकूलित किया जा सकता है, जिससे सभी जानकारी और प्रत्येक प्लगइन को पूर्ण दृश्य दृष्टिकोण मिलता है। अपनी तरफ से काम करें।

यदि आपको यह लेख पसंद आया तो मैं आपको इसे पढ़ने के लिए आमंत्रित करता हूँ "प्रोग्रामिंग में व्यवस्था के प्रकार", कार्यक्रम निर्माण में इसका पूरा महत्व बताता है, मुझे पता है आपको यह पसंद आएगा।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: एक्स्ट्रीमिडाड ब्लॉग
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।