MVC क्या है और इसे क्यों इस्तेमाल किया जाता है?

MVC क्या है और इसे क्यों इस्तेमाल किया जाता है?

आज इस आर्टिकल में हम बात करेंगे की MVC क्या है और इसे क्यों इस्तेमाल किया जाता है?

  • जब हम किसी प्रोजेक्ट पर काम कर रहे है जिसमें हम बिना किसी पैटर्न का इस्तेमाल किये उस प्रोजेक्ट को बना
    रहे है तो उसकी complexity बढ़ने पर प्रोजेक्ट को manage करना भी मुश्किल हो जाता है।
  • इसी लिए कुछ architectural pattern तैयार किये गए जिसमें से MVC सबसे ज्यादा इस्तेमाल होने वाला डिजाईन
    पैटर्न है।

Read This -> Digital Ocean पर 100 डॉलर Credit कैसे पाए?

MVC क्या है और इसे क्यों इस्तेमाल किया जाता है?

MVC क्या है और इसे क्यों इस्तेमाल किया जाता है?

MVC क्या है?

सिंपल भाषा में अगर मैं कहूँ तो यह एक तरीका है जिसमें हम अपने database, logic और visual पार्ट को divide कर देते है।MVC की फुल फॉर्म Model-View-Controller है जिसका मतलब है की हम database को model के नाम से और logic part को controller के नाम से और visual पार्ट को view के नाम जाना जाता है। टेक्निकल भाषा की बात करें तो यह एक ऐसा architectural pattern है जिसकी मदद से किसी भी प्रोजेक्ट को 3 component में बाँट कर प्रोजेक्ट Manage, security और productivity को बढाया जा सकता है. यहाँ पर किसी एक special programming language की बात नहीं कर रहे है क्योंकि इसे आप किसी भी प्रोजेक्ट में इस्तेमाल कर सकते है चाहे वह PHP में हो, ASP.NET में हो, Nodejs में हो, Python में हो आप सभी में इस तरीके को इस्तेमाल कर सकते है।

Read This -> PHP क्या है और इसे कैसे सीखें?

MVC के बारे कब और किसने बताया?

इसे सबसे पहले Trygve Reenskaug ने PARC में लगभग 1970 में introduce किया था। उस दौरान इसे Smalltalk नामक programming language में introduce करवाया गया था क्योंकि उस समय यह एक object-oriented, dynamically typed reflective programming language थी। इसके बाद में करीबन 1980 में Jim Althoff और उनके साथियों ने मिलकर Smalltalk के नए वर्शन के साथ इसे implement करके इस्तेमाल करना शुरू किया और 1988 के करीबन The Journal of Object Technology (JOT) आर्टिकल में इसके बारे में बताया गया।

इसके बाद में MVC से प्रेरित होकर hierarchical model–view–controller (HMVC), model–view–adapter (MVA), model–view–presenter (MVP), model–view–viewmodel (MVVM) जैसे कई architectural pattern सामने आये।

March 28, 1996 में WebObjects framework (जो की Java web application server और a server-based web application framework है)(इसे सबसे पहले Objective-C में लिखा गया था) जिसको NeXT Software, Inc ने बनाया था. इस वेब फ्रेमवर्क का इस्तेमाल शुरू होने के बाद में MVC का चलन बहुत बढ़ गया।

Read This-> Python क्या है और इसे कैसे सीखें?

MVC के फायदे / MVC क्यों इस्तेमाल किया जाता है?

  • इसकी मदद से आप view part और logic पार्ट यानी designer और developer दोनों से एक साथ एक
    प्रोजेक्ट पर काम करवा सकते है।
  • इससे आप logic के related action/method को एक साथ ग्रुप कर सकते है और view और उसके
    specific model को एक साथ group कर सकते है।
  • इसमें आप अपना प्रोजेक्ट कम समय में पूरा सकते है।
  • कोड को manage करना आसान हो जाता है।
  • एक मॉडल से आप कई view पार्ट के साथ attach कर सकते है।
  • इस तरह के प्रोजेक्ट में आपको कोड मॉडिफिकेशन करने में आसानी होती है।

MVC कैसे काम करता है?

हमने ऊपर के सेक्शन से इतनी जानकारी ले ली है हम बता सकते है की MVC क्या है और इसका इस्तेमाल क्यों करना चाहिए. लेकिन हमें यह भी पता होना चाहिए की यह कैसे काम करता है। तो इसके लिए हमने एक MVC diagram बनाया है जिसकी मदद से कोई भी इसको आसानी से जान सकता है की MVC कैसे काम करता है. यह diagram दुसरे sample diagram से अलग है लेकिन हम आपको इसके बारे में पूरी जानकारी आपको बताएँगे।

mvc demo by hindialerts.com

User

यहाँ पर यूजर कोई भी person हो सकता है जो की एक specific url या request को हमारे प्रोजेक्ट पर सेंड करता है
और उसके specific url या request के corresponding response या result चाहता है।

Front Controller

इसे हम main request और response सिस्टम कह सकते है जो की user से request लेता है और उसके
corresponding response वापिस user को भेजता है।

Controller

जब Front Controller से request की process को verify कर दिया जाता है तो उस के बाद एक specific controller को call किया जाता है जो की Model से data और view से visual part को collect करके वापिस front controller को response send करता है।

View

इसमें वह सभी चीजें available होती है जो की हमने किसी specific request पर User को response के रूप में भेजनी
होती है।

Model

यह हमारा data लेयर होती है जहाँ पर हम एक specific request पर किसी database table का पूरा डाटा
या specific data controller के पास भेज कर उसे view part के साथ attach करते है।

Check Out -> महापुरुषों की जीवन गाथा

क्या होता है जब user request भेजता है तो?

मान लो आपने MVC का एक web प्रोजेक्ट बनाया है।अब आपके project पर कोई बाहर से user आता है। तो वह किसी specific URL को access करता है। मान ले उसने request किया है. https://example.com/users तो यह request आपके front controller पर जायेगी। इसके बाद में front controller आपके request को चेक करेगा की यह request valid है या नहीं, अगर request valid है तो उस request के corresponding हम एक specific controller जिसका नाम हमने UserController रखा है उसके allUser के method को कॉल करते है. अब हमारी request controller तक पहुँच गयी है।

इसके बाद में इस कंट्रोलर में हम model के एक method जिसमें database से सारा users data collect किया है उसे call कर लेते है और उस data को हम View part (जिसका नाम हमने Users) रखा है पर भेज देते है और इसके बाद में उसी व्यू को हम एक साथ controller से return करवा देते है। यहाँ से return होते ही view part और model part controller से front controller के पास पहुँच जाते है और इसके बाद में response के तौर पर user को view part के sath specific data भी show करवा दिया जाता है।

उदाहरण के लिए आप हमारे द्वारा बनाये गए Simple PHP MVC Example को चेक कर सकते है। यह PHP में बनाया गया है।लेकिन यह pattern आप किसी भी programming language में बना सकते है।

Check PHP MVC Example

Final Word

  • तो अब आपको पता लग गया होगा की MVC kya hai, MVC kaise sikhen, MVC kaise kaam Karta hai,
    MVC ke fayde, MVC kyon istemaal karna chahiye, MVC Full form kya hai, MVC kaise banaye,
    MVC mein controller kya hota hai
    .
  • अगर आपको इससे जुडी कोई अन्य जानकारी चाहिए या फिर आप किसी अन्य टॉपिक पर हमारा आर्टिकल चाहते है।
  • तो आप नीचे दिए गए कमेंट बॉक्स में कमेंट करके पूछें।

इसे भी पढ़े – Node.js क्या है और इसे कैसे सीखें?

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *