जावा में MVC आर्किटेक्चर को कैसे लागू करें?



जावा में MVC आर्किटेक्चर पर यह लेख आपको यह समझने में मदद करेगा कि वास्तव में MVC का डिज़ाइन पैटर्न क्या है और यह वेब अनुप्रयोगों को कैसे डिज़ाइन करता है।

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

इस लेख में शामिल किए जाने वाले विषय इस प्रकार हैं:





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

html में br टैग क्या है
  • डिज़ाइन पैटर्न सॉफ्टवेयर इंजीनियरिंग में, सॉफ्टवेयर डिजाइन करते समय आमतौर पर होने वाली समस्या को हल करने की एक तकनीक है।
  • डिजाइनिंग मॉडल, निर्दिष्ट करता है कि समस्या को हल करने या मॉडल को डिज़ाइन करने के लिए आप किस प्रकार की वास्तुकला का उपयोग करते हैं।
  • वहाँ दो हैं डिजाइन मॉडल के प्रकार : मॉडल 1 वास्तुकला , मॉडल 2 (MVC) आर्किटेक्चर।

जावा में MVC आर्किटेक्चर क्या है?

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



  • नमूना - आवेदन की व्यावसायिक परत का प्रतिनिधित्व करता है
  • राय - आवेदन की प्रस्तुति को परिभाषित करता है
  • नियंत्रक - आवेदन के प्रवाह का प्रबंधन करता है

एमवीसी - जावा में एमवीसी आर्किटेक्चर - एडुर्का

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



  1. क्लाइंट पर मौजूद ब्राउजर सर्वर पर मौजूद कंट्रोलर को पेज के लिए रिक्वेस्ट भेजता है
  2. नियंत्रक मॉडल को लागू करने की क्रिया करता है, जिससे अनुरोध के जवाब में उसे आवश्यक डेटा पुनर्प्राप्त होता है
  3. नियंत्रक तब दृश्य को पुनः प्राप्त डेटा देता है
  4. दृश्य को रेंडर किया गया है और क्लाइंट को प्रदर्शित करने के लिए क्लाइंट को वापस भेज दिया गया है

एक सॉफ्टवेयर एप्लीकेशन को अलग करनाये तीन अलग-अलग घटक कई कारणों से एक अच्छा विचार है। आइए एक नज़र डालते हैं कि वे क्या हैं।

जावा में MVC आर्किटेक्चर के लाभ

MVC वास्तुकला अनुप्रयोगों को विकसित करते समय एक प्रोग्रामर के लिए बहुत सारे लाभ प्रदान करता है, जिसमें शामिल हैं:

  • कई डेवलपर्स तीन परतों (मॉडल, व्यू और कंट्रोलर) के साथ एक साथ काम कर सकते हैं
  • प्रस्तावों में सुधार हुआ मापनीयता , कि आवेदन के बढ़ने की क्षमता को बढ़ाता है
  • चूंकि घटकों में एक दूसरे पर कम निर्भरता होती है, उन्हें बनाए रखना आसान होता है
  • एक मॉडल को कई विचारों द्वारा पुन: उपयोग किया जा सकता है जो कोड की पुन: प्रयोज्य प्रदान करता है
  • MVC को अपनाने से एप्लिकेशन अधिक अभिव्यंजक और समझने में आसान हो जाता है
  • आवेदन का विस्तार और परीक्षण आसान हो जाता है

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

जावा का उपयोग करके एमवीसी का कार्यान्वयन

एमवीसी डिजाइन पैटर्न के आधार पर एक वेब एप्लिकेशन को लागू करने के लिए, हम बनाएंगे

  • कोर्स की क्लास , जो कार्य करता है मॉडल परत
  • कोर्सव्यू क्लास , जो प्रस्तुति परत को परिभाषित करता है ( परत देखें )
  • कोर्सकंटोलर क्लास , जो एक के रूप में कार्य करता है नियंत्रक

अब, इन परतों को एक-एक करके देखें।

एनजी-परिवर्तन बनाम ऑन्चेंज

मॉडल परत

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

पैकेज MyPackage पब्लिक क्लास कोर्स {प्राइवेट स्ट्रिंग कोर्सनेम प्राइवेट स्ट्रिंग कोर्सआईड प्राइवेट स्ट्रिंग कोर्सकैटररी पब्लिक स्ट्रिंग गेटआईड () {रिटर्न कोर्सआईड} पब्लिक शून्य सेटआईड (स्ट्रिंग आईडी) {यह .Cार्कId = आईडी} पब्लिक स्ट्रिंग getName () {रिटर्न कोर्सनाम} सार्वजनिक शून्य सेटनाम (स्ट्रिंग नाम) {this.CourseName = name} सार्वजनिक स्ट्रिंग getCategory () {वापसी कोर्सकैटरोरी} सार्वजनिक शून्य सेटरीगरी (स्ट्रिंग श्रेणी) {this.CourseCategory = श्रेणी}}

कोड को समझना आसान है और आत्म-व्याख्यात्मक है। इसमें पाठ्यक्रम विवरण प्राप्त / निर्धारित करने के लिए कार्य शामिल हैं।

दृश्य परत

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

पैकेज MyPackage public class कोर्स व्यू {public void printCourseDetails (स्ट्रिंग कोर्सनेम, स्ट्रिंग कोर्सआईएनडी, स्ट्रिंग कोर्सकैटरोरी) {System.out.println ('कोर्स विवरण:') System .out.println ('नाम:' + CourseName) System.out.println ('कोर्स आईडी:' + कोर्सआईड) सिस्टम.आउट.प्रिंटलाइन ('कोर्स श्रेणी:' कोर्स कोर्स श्रेणी)}}

यह कोड हैबस कंसोल को मान मुद्रित करने के लिए। आगे हमारे पास वेब एप्लिकेशन का कंट्रोलर है।

नियंत्रक परत

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

जावा में सिंक्रनाइज़ेशन क्या है
पैकेज MyPackage पब्लिक क्लास कोर्सकंट्रोलर {प्राइवेट कोर्स मॉडल प्राइवेट कोर्स व्यू, पब्लिक कोर्सकंट्रोलर (कोर्स मॉडल, कोर्स व्यू) {this.model = मॉडल this.view = view} सार्वजनिक शून्य setCNName (स्ट्रिंग नाम) {model.setName (नाम)} पब्लिक स्ट्रिंग getCourseName () {return model.getName ()} public void setCourseId (स्ट्रिंग आईडी) {model.setId (id)} सार्वजनिक स्ट्रिंग getCourseId () {रिटर्न model.getId ()} सार्वजनिक शून्य setCCCory (स्ट्रिंग श्रेणी) {model.setCategory मॉडल (श्रेणी)} सार्वजनिक स्ट्रिंग getCourseCategory () {रिटर्न model.getCategory ()} सार्वजनिक शून्य अपडेट () {view.printCourseDetails (model.getName) (), model.getId (), model.getCategory ())}}}}

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

मुख्य जावा वर्ग

चलो इस वर्ग को 'MVCPatternDemo.java' कहते हैं। नीचे दिए गए कोड की जाँच करें।

पैकेज MyPackage सार्वजनिक वर्ग MVCPatternDemo {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// डेटाबेस कोर्स मॉडल से उसके रोल नंबर के आधार पर छात्र रिकॉर्ड प्राप्त करना = retriveCourseFromDatabase ()) एक दृश्य बनाएं: कंसोल कोर्स व्यू पर पाठ्यक्रम विवरण लिखने के लिए देखें = new CourseView () कोर्सकंट्रोलर कंट्रोलर = नया कोर्सकंट्रोलर (मॉडल, व्यू) कंट्रोलर .updateView () // मॉडल अपडेट करें डेटा कंट्रोलर ।सेटकॉन्डरनाम ('पायथन') System.out.println ('अपडेट के बाद, कोर्स का विवरण इस प्रकार है') कंट्रोलर.उपडेटव्यू ()} प्राइवेट स्टैटिक कोर्स रिट्राइवकॉर्पोरेटफ्रैडबेस () {कोर्स कोर्स = न्यू कोर्स () कोर्स।सेटनेम ('जावा ’) कोर्स।सेटआईडीडी ('01’) कोर्स।सेटकैर्ट्री (Program प्रोग्रामिंग ’) रिटर्न कोर्स}}

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

आउटपुट

कोर्स का विवरण: नाम: जावा कोर्स आईडी: 01 कोर्स श्रेणी: अद्यतन करने के बाद, पाठ्यक्रम विवरण इस प्रकार हैं पाठ्यक्रम विवरण: नाम: पायथन कोर्स आईडी: 01 पाठ्यक्रम श्रेणी: प्रोग्रामिंग

MVC आर्किटेक्चरआपके कोड को पूरी तरह से नया स्तर प्रदान करता है जो इसे और अधिक पठनीय और बनाए रखने योग्य बनाता है। यह हमें इस लेख के अंत में लाता है।आशा है कि आप उन सभी के साथ स्पष्ट हैं जो आपके साथ साझा किए गए हैं।

सुनिश्चित करें कि आप जितना संभव हो उतना अभ्यास करें और अपने अनुभव को वापस लाएं।

इसकी जाँच पड़ताल करो 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। हम यहां आपकी यात्रा में हर कदम पर आपकी मदद करने के लिए हैं, हम एक पाठ्यक्रम के साथ आते हैं, जो छात्रों और पेशेवरों के लिए बनाया गया है, जो जावा डेवलपर बनना चाहते हैं।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया जावा में इस it MVC आर्किटेक्चर के टिप्पणी अनुभाग में इसका उल्लेख करें ’ लेख और हम जितनी जल्दी हो सके आप को वापस मिल जाएगा।