JavaRush /جاوا بلاگ /Random-SD /حصو 7. MVC (ماڊل-ڏسو-ڪنٽرولر) نموني جو تعارف

حصو 7. MVC (ماڊل-ڏسو-ڪنٽرولر) نموني جو تعارف

گروپ ۾ شايع ٿيل
هي مواد "انٽرپرائز ڊولپمينٽ جو تعارف" سيريز جو حصو آهي. اڳيون مضمون: حصو 7. MVC (ماڊل-ڏسو-ڪنٽرولر) نموني جو تعارف - 1هن مواد ۾ اسان توهان کي MVC جي طور تي اهڙي شيء سان متعارف ڪرايو ويندو. اچو ته ڳالهايون MVC ڇا آهي، ان جي ٺهڻ جي تاريخ کي ڇهيو، سمجھو بنيادي خيالن ۽ تصورن کي MVC ۾ ورثي ۾، قدم قدم تي غور ڪريو ته ڪيئن هڪ ايپليڪيشن کي ماڊل، ڏسو، ڪنٽرولر ماڊلز ۾ ٽوڙيو وڃي، ۽ ان ۾ هڪ ننڍڙي ويب ايپليڪيشن پڻ لکو. اسپرنگ-بوٽ، ۽ اسپرنگ-MVC استعمال ڪندي مثال طور، اچو ته ڏسو ته ڪيئن ڊيٽا جاوا ڪوڊ کان html صفحن تي منتقل ٿئي ٿي. ھن مواد کي سمجھڻ لاء، توھان کي واقف ٿيڻ جي ضرورت آھي ڊيزائن جي نمونن سان، خاص طور تي مبصر ۽ Facade. HTTP درخواستن ۽ جوابن سان واقف ٿيو، html جي بنيادي ڳالهين کي سمجھو، ڄاڻو ته جاوا ۾ ڇا تشريحون آهن. واپس ويھي رھيو، چانهه ٺاھيو، شيرين تيار ڪريو، سلاد، مين ڪورس ۽ پھريون ڪورس. اسان شروع ڪريون ٿا.

MVC جي تاريخ

70 جي ڏهاڪي جي آخر ۾ Xerox PARC تي ڪم ڪرڻ دوران MVC لاءِ خيال Trygve Reenskaug پاران ترتيب ڏنل هئا. انهن ڏينهن ۾، ڪمپيوٽر سان ڪم ڪرڻ ناممڪن هو، بغير ڪنهن علمي درجي ۽ مسلسل دستاويزن جي مسلسل مطالعي کان سواء. مسئلو اهو آهي ته Reenskaug تمام مضبوط ڊولپرز جي هڪ گروپ سان گڏ حل ڪيو هو ڪمپيوٽر سان اوسط صارف جي رابطي کي آسان ڪرڻ. اهو اوزار ٺاهڻ ضروري هو، جيڪو هڪ طرف، انتهائي سادو ۽ سمجھڻ وارو هوندو، ۽ ٻئي طرف، ڪمپيوٽر ۽ پيچيده ايپليڪيشنن کي منظم ڪرڻ ممڪن بڻائيندو. Reenskaug هڪ ٽيم تي ڪم ڪيو جنهن هڪ پورٽبل ڪمپيوٽر تيار ڪيو ”سڀني عمرن جي ٻارن لاءِ“ - Dynabook، گڏوگڏ SmallTalk ٻولي Alan Kay جي اڳواڻي ۾. اهو پوء ۽ اتي هو ته هڪ دوستانه انٽرفيس جا تصور رکيا ويا. Reenskaug جي ڪم سندس ٽيم سان گڏ آئي ٽي فيلڊ جي ترقي کي تمام گهڻو متاثر ڪيو. اچو ته هڪ دلچسپ حقيقت پيش ڪريون جنهن جو تعلق سڌو MVC سان ناهي، پر انهن ترقيات جي اهميت کي واضح ڪري ٿو. 2007 ۾، ايپل آئي فون جي پريزنٽيشن کان پوء، Alan Kay چيو: "جڏهن ميڪنٽوش ٻاهر آيو، نيوز ويڪ پڇيو ته مون ان بابت ڇا سوچيو. مون چيو: هي پهريون پرسنل ڪمپيوٽر آهي جيڪو تنقيد جي لائق آهي. پريزنٽيشن کانپوءِ اسٽيو جابز سامهون آيو ۽ پڇيو: ڇا آئي فون تنقيد جي لائق آهي؟ ۽ مون چيو، ان کي پنج انچ اٺ انچ ڪر ۽ تون دنيا کي فتح ڪندين. ٽن سالن بعد، 27 جنوري، 2010 تي، ايپل متعارف ڪرايو 9.7-انچ iPad. اهو آهي، اسٽيو جابز تقريبا لفظي طور تي ايلن ڪي جي صلاح جي پيروي ڪئي. اهو منصوبو جنهن تي Rennskaug ڪم ڪيو 10 سالن تائين هليو. ۽ MVC بابت پهرين اشاعت ان جي تخليق ڪندڙن کان 10 سالن کان پوء شايع ڪيو ويو. مارٽن فولر، سافٽ ويئر آرڪيٽيڪچر تي ڪيترن ئي ڪتابن ۽ مضمونن جو ليکڪ، ذڪر ڪري ٿو ته هن SmallTalk جي ڪم ڪندڙ ورزن مان MVC سکيو. ڇاڪاڻ ته هڪ ڊگهي وقت تائين بنيادي ماخذ کان MVC بابت ڪا ڄاڻ نه هئي، انهي سان گڏ ٻين سببن جي ڪري، هن تصور جي مختلف تشريح جو هڪ وڏو تعداد ظاهر ٿيو آهي. نتيجي طور، گھڻا ماڻھو سمجھندا آھن MVC ھڪڙي ڊزائين اسڪيم يا نمونو. گهٽ عام طور تي، MVC هڪ جامع نمونو سڏيو ويندو آهي يا ڪيترن ئي نمونن جو هڪ ميلاپ جيڪو پيچيده ايپليڪيشنن کي لاڳو ڪرڻ لاء گڏجي ڪم ڪري ٿو. پر حقيقت ۾، جيئن اڳ ۾ چيو ويو آهي، MVC بنيادي طور تي آرڪيٽيڪچرل خيالن/اصولن/طريقن جو هڪ مجموعو آهي جنهن کي مختلف نمونن جي استعمال سان مختلف طريقن سان لاڳو ڪري سگهجي ٿو... اڳيون، اسان MVC تصور ۾ شامل مکيه خيالن کي ڏسڻ جي ڪوشش ڪنداسين.

MVC ڇا آهي: بنيادي خيال ۽ اصول

  • VC تعميراتي خيالن ۽ اصولن جو هڪ سيٽ آهي پيچيده انفارميشن سسٽم ٺاهڻ لاءِ يوزر انٽرفيس سان؛
  • MVC هڪ مخفف آهي جيڪو ماڊل-View-Controller لاءِ بيٺل آهي.
ڊسڪليمر: MVC هڪ ڊزائن جو نمونو ناهي. MVC خاص طور تي استعمال ڪندڙ انٽرفيس سان پيچيده سسٽم جي تعمير لاءِ آرڪيٽيڪچرل خيالن ۽ اصولن جو هڪ سيٽ آهي. پر سهولت لاءِ، هر دفعي ٻيهر نه ورجايو وڃي: ”آرڪيٽيڪچرل خيالن جو هڪ سيٽ...“، اسان MVC کي هڪ نمونو سڏينداسين. اچو ته ڪجھ سادو سان شروع ڪريون. لفظن جي پويان ڇا لڪيل آهي ماڊل-ويو-ڪنٽرولر؟ جڏهن يوزر انٽرفيس سان سسٽم ٺاهيندي، MVC نموني جي پٺيان، توهان کي سسٽم کي ٽن حصن ۾ ورهائڻ جي ضرورت آهي. اهي، موڙ ۾، ماڊلز يا اجزاء کي سڏي سگهجي ٿو. چئو جيڪو توهان چاهيو ٿا، پر ٽن سان ورهايو. هر جزو جو پنهنجو مقصد هوندو. ماڊل. پهريون جزو/ماڊيول نام نهاد ماڊل آهي. اهو ايپليڪيشن جي سڀني ڪاروباري منطق تي مشتمل آهي. ڏيک. نظام جو ٻيو حصو ڏسڻ آهي. هي ماڊل صارف کي ڊيٽا ڏيکارڻ جو ذميوار آهي. هر شيءِ جيڪو صارف ڏسي ٿو اهو ڏسڻ سان ٺاهيل آهي. ڪنٽرولر. هن سلسلي ۾ ٽيون لنڪ ڪنٽرولر آهي. اهو ڪوڊ اسٽور ڪري ٿو جيڪو صارف جي عملن جي پروسيسنگ لاءِ ذميوار آهي (سسٽم ۾ ڪنهن به صارف جي عمل کي ڪنٽرولر ۾ پروسيس ڪيو ويندو آهي). ماڊل سسٽم جو سڀ کان وڌيڪ آزاد حصو آهي. ايترو آزاد آهي ته ان کي ڏسڻ ۽ ڪنٽرولر ماڊلز بابت ڪجهه به نه ڄاڻڻ گهرجي. ماڊل ايترو آزاد آهي ته ان جي ڊولپرز کي ڏسڻ ۽ ڪنٽرولر جي باري ۾ تقريبا ڪجھ به نه ڄاڻن. ڏيک جو بنيادي مقصد ماڊل مان معلومات مهيا ڪرڻ آهي صارف دوست فارميٽ ۾. ڏسڻ جي بنيادي حد اها آهي ته اهو ڪنهن به طريقي سان ماڊل کي تبديل نه ڪرڻ گهرجي. ڪنٽرولر جو بنيادي مقصد صارف جي عملن کي پروسيس ڪرڻ آهي. اهو ڪنٽرولر ذريعي آهي ته صارف ماڊل ۾ تبديليون ڪري ٿو. وڌيڪ صحيح طور تي، ڊيٽا ۾ جيڪو ذخيرو ٿيل آهي ماڊل ۾. اچو ته هڪ ڀيرو ٻيهر اهو خاڪو ڏيون جيڪو اڳي ئي توهان کي ليڪچر ۾ ڏيکاريو ويو هو: حصو 7. MVC جو تعارف (ماڊل-ڏسو-ڪنٽرولر) نموني - 2هن سڀني مان اسان هڪ مڪمل منطقي نتيجو ڪڍي سگهون ٿا. هڪ پيچيده نظام کي ماڊلز ۾ ورهائڻ جي ضرورت آهي. اچو ته مختصر طور تي بيان ڪريون ته اهڙي جدائي کي ڪيئن حاصل ڪجي.

قدم 1: ايپليڪيشن جي ڪاروباري منطق کي يوزر انٽرفيس کان الڳ ڪريو

MVC جو اهم خيال اهو آهي ته ڪنهن به ايپليڪيشن کي يوزر انٽرفيس سان، پهرين لڳ ڀڳ، 2 ماڊلز ۾ ورهائي سگهجي ٿو: ايپليڪيشن جي ڪاروباري منطق کي لاڳو ڪرڻ لاءِ ذميوار هڪ ماڊل، ۽ هڪ يوزر انٽرفيس. پهريون ماڊل ايپليڪيشن جي بنيادي ڪارڪردگي کي لاڳو ڪندو. هي ماڊل سسٽم جو بنيادي هوندو، جنهن ۾ ايپليڪيشن ڊومين ماڊل لاڳو ڪيو ويندو آهي. MVC تصور ۾، هي ماڊل اسان جو خط M، يعني. ماڊل ٻيو ماڊل سڄي يوزر انٽرفيس کي لاڳو ڪندو، بشمول صارف کي ڊيٽا ڏيکاري ۽ ايپليڪيشن سان صارف جي رابطي جو منطق. هن علحدگيء جو بنيادي مقصد اهو آهي ته سسٽم جو بنيادي (MVC اصطلاحن ۾ ماڊل) آزاديء سان ترقي يافته ۽ آزمائشي ٿي سگهي ٿو. اهڙي تقسيم کان پوء ايپليڪيشن فن تعمير هن طرح نظر ايندي: حصو 7. MVC (ماڊل-ڏسو-ڪنٽرولر) نموني جو تعارف - 3

مرحلا 2. مبصر نموني استعمال ڪندي، ماڊل جي اڃا به وڌيڪ آزادي حاصل ڪريو، ۽ گڏوگڏ يوزر انٽرفيس جي هم وقت سازي

هتي اسان 2 مقصدن جي پيروي ڪندا آهيون:
  1. ماڊل جي اڃا به وڏي آزادي حاصل ڪريو.
  2. يوزر انٽرفيس کي هم وقت سازي ڪريو.
هيٺ ڏنل مثال توهان کي سمجهڻ ۾ مدد ڏيندو ته يوزر انٽرفيس کي هم وقت سازي ڪرڻ جو مطلب ڇا آهي. اچو ته چئو ته اسان فلم جي ٽڪيٽ آن لائن خريد ڪندا آهيون ۽ ٿيٽر ۾ موجود سيٽن جو تعداد ڏسو. ڪو ٻيو ماڻهو اسان وانگر ساڳئي وقت فلم جي ٽڪيٽ خريد ڪري سگهي ٿو. جيڪڏھن ھي ڪو ماڻھو اسان کان اڳ ٽڪيٽ خريد ڪري، اسان کي ڏسڻو پوندو ته اسان جي سيشن لاءِ موجود سيٽن جو تعداد گھٽجي ويو آھي. هاڻي اچو ته ان ڳالهه تي غور ڪريون ته اهو پروگرام اندر ڪيئن لاڳو ٿي سگهي ٿو. اچو ته فرض ڪريون ته اسان وٽ هڪ سسٽم ڪور (اسان جو ماڊل) ۽ هڪ انٽرفيس آهي (ويب پيج جنهن تي اسان خريداري ڪندا آهيون). سائيٽ تي، 2 صارفين هڪ ئي وقت هڪ سيٽ چونڊيو. پهريون صارف هڪ ٽڪيٽ خريد ڪيو. ٻئي صارف کي صفحي تي ھن معلومات کي ڏيکارڻ جي ضرورت آھي. اهو ڪيئن ٿيڻ گهرجي؟ جيڪڏهن اسان انٽرفيس کي سسٽم ڪرنل مان اپڊيٽ ڪريون ٿا، ته اسان جو ڪنيل، اسان جو ماڊل، انٽرفيس تي منحصر هوندو. جڏهن ماڊل کي ترقي ۽ جانچ ڪندي، توهان کي انٽرفيس کي اپڊيٽ ڪرڻ لاء مختلف طريقن کي ذهن ۾ رکڻو پوندو. هن کي حاصل ڪرڻ لاء، توهان کي مبصر نموني کي لاڳو ڪرڻ جي ضرورت آهي. ان جي مدد سان، ماڊل سڀني رڪنن کي تبديلين بابت اطلاع موڪلي ٿو. انٽرفيس، اهڙو سبسڪرائبر هجڻ ڪري، هڪ نوٽيفڪيشن ۽ تازه ڪاري حاصل ڪندو. مبصر نموني ماڊل کي اجازت ڏئي ٿو، هڪ طرف، انٽرفيس (ڏسو ۽ ڪنٽرولر) کي خبر ڏيڻ جي لاءِ ته ان ۾ تبديليون آيون آهن، ۽ ٻئي طرف، حقيقت ۾ انهن بابت ڪجهه به نه ڄاڻڻ، ۽ اهڙيءَ طرح آزاد رهي. ٻئي طرف، هي يوزر انٽرفيس کي هم وقت سازي ڪرڻ جي اجازت ڏيندو.

قدم 3. انٽرفيس کي ڏسڻ ۽ ڪنٽرولر ۾ ورهائڻ

اسان ايپليڪيشن کي ماڊلز ۾ ورهائڻ جاري رکون ٿا، پر هيٺئين سطح تي درجه بندي جي. هن قدم ۾، يوزر انٽرفيس (جيڪو قدم 1 ۾ الڳ ماڊل ۾ ورهايو ويو) هڪ ڏيک ۽ هڪ ڪنٽرولر ۾ ورهايل آهي. ڏسڻ ۽ ڪنٽرولر جي وچ ۾ سخت لڪير ڪڍڻ ڏکيو آهي. جيڪڏهن اسان چئون ته نظارو اهو آهي جيڪو صارف ڏسي ٿو، ۽ ڪنٽرولر اهو ميکانيزم آهي جنهن ذريعي صارف سسٽم سان رابطو ڪري سگهي ٿو، اتي ڪجهه تضاد آهي. ڪنٽرول، جهڙوڪ ويب پيج تي بٽڻ يا فون اسڪرين تي ورچوئل ڪيبورڊ، لازمي طور تي ڪنٽرولر جو حصو آهن. پر اهي صرف صارف کي ڏسڻ جي ڪنهن به حصي وانگر نظر اچن ٿا. هتي اسان فنڪشنل ڊويزن بابت وڌيڪ ڳالهائي رهيا آهيون. يوزر انٽرفيس جو بنيادي ڪم سسٽم سان صارف جي رابطي کي يقيني بڻائڻ آهي. هن جو مطلب آهي ته انٽرفيس صرف 2 ڪم آهي:
  • ڊسپلي ۽ آساني سان صارف کي سسٽم بابت معلومات ڏيکاري؛
  • سسٽم ۾ صارف ڊيٽا ۽ حڪم داخل ڪريو (انهن کي سسٽم ڏانهن منتقل ڪريو)؛
اهي افعال طئي ڪن ٿا ته انٽرفيس کي ماڊلز ۾ ڪيئن ورهايو وڃي. نتيجي طور، سسٽم آرڪيٽيڪچر هن طرح ڏسڻ ۾ اچي ٿو: حصو 7. MVC (ماڊل-ڏسو-ڪنٽرولر) نموني جو تعارف - 4تنهنڪري، اسان وٽ ٽي ماڊلز جي ايپليڪيشن آهي جنهن کي ماڊل، ڏسو ۽ ڪنٽرولر سڏيو ويندو آهي. اختصار ڪرڻ:
  1. MVC جي اصولن تي عمل ڪندي، سسٽم کي ماڊلز ۾ ورهائڻ جي ضرورت آهي.
  2. سڀ کان اهم ۽ آزاد ماڊل هجڻ گهرجي.
  3. ماڊل سسٽم جو بنيادي حصو آهي. توهان کي انٽرفيس جي آزاديءَ سان ان کي ترقي ۽ جانچڻ جي صلاحيت جي ضرورت آهي.
  4. هن کي ڪرڻ لاء، سسٽم جي الڳ ٿيڻ جي پهرين قدم تي، توهان کي ان کي ماڊل ۽ انٽرفيس ۾ ورهائڻ جي ضرورت آهي.
  5. اڳيون، مبصر نموني استعمال ڪندي، اسان ماڊل کي ان جي آزادي ۾ مضبوط ڪريون ٿا ۽ يوزر انٽرفيس جي هم وقت سازي حاصل ڪريون ٿا.
  6. ٽيون قدم انٽرفيس کي هڪ ڪنٽرولر ۽ هڪ ڏيک ۾ ورهائڻ آهي.
  7. اهو سڀ ڪجهه گهربل آهي صارف کان معلومات داخل ڪرڻ لاءِ سسٽم ۾ ڪنٽرولر ۾.
  8. سسٽم کان صارف تائين سڀني معلومات کي نظر ۾ رکندي آهي.
هتي هڪ وڌيڪ اهم ڳالهه آهي بحث ڪرڻ لاءِ ۽ توهان ڪوڪو پيئي سگهو ٿا.

ڏسو ۽ ڪنٽرولر ۽ ماڊل جي وچ ۾ تعلق بابت ٿورڙو

جڏهن صارف ڪنٽرولر ذريعي معلومات داخل ڪري ٿو، هو اهڙي طرح ماڊل ۾ تبديليون ڪري ٿو. گهٽ ۾ گهٽ صارف ماڊل ڊيٽا ۾ تبديليون آڻيندو. جڏهن صارف معلومات حاصل ڪري ٿو انٽرفيس عناصر ذريعي (ڏسو ذريعي)، صارف حاصل ڪري ٿو ماڊل ڊيٽا بابت معلومات. اهو ڪيئن ٿو ٿئي؟ ڪيئن ڏسو ۽ ڪنٽرولر ماڊل سان لهه وچڙ ڪندا؟ آخرڪار، اهو نٿو ٿي سگهي ته ڏسو ڪلاس سڌو سنئون ماڊل ڪلاس جا طريقا استعمال ڪن ڊيٽا کي پڙهڻ/لکڻ لاءِ، ٻي صورت ۾ ماڊل جي ڪنهن به آزادي جو سوال ئي پيدا نٿو ٿئي. ماڊل طبقن جي هڪ مضبوط طور تي ڳنڍيل سيٽ جي نمائندگي ڪري ٿو، جنهن ۾، سٺي طريقي سان، نه ته ڏسو ۽ نه ئي ڪنٽرولر کي رسائي هجڻ گهرجي. ماڊل کي ڏسڻ ۽ ڪنٽرولر سان ڳنڍڻ لاء، اهو ضروري آهي ته منهن جي ڊيزائن جي نموني کي لاڳو ڪرڻ. ماڊل جو پاسو ماڊل ۽ انٽرفيس جي وچ ۾ تمام گهڻي پرت هوندو، جنهن جي ذريعي ڏسو هڪ آسان فارميٽ ۾ ڊيٽا حاصل ڪري ٿو، ۽ ڪنٽرولر ضروري منهن واري طريقن کي ڪال ڪندي ڊيٽا کي تبديل ڪري ٿو. Schematically، آخر ۾، هر شيء هن طرح نظر ايندي: حصو 7. MVC (ماڊل-ڏسو-ڪنٽرولر) نموني جو تعارف - 6

MVC: ڇا فائدو آهي؟

MVC اصولن تي عمل ڪرڻ جو بنيادي مقصد ايپليڪيشن جي ڪاروباري منطق (ماڊل) کي ان جي تصور (ڏسڻ) کان الڳ ڪرڻ آهي. هي علحدگي ڪوڊ ٻيهر استعمال وڌائيندو. MVC استعمال ڪرڻ جا فائدا سڀ کان وڌيڪ واضح آھن ڪيسن ۾ جتي صارف کي مختلف شڪلن ۾ ساڳي ڊيٽا مهيا ڪرڻ جي ضرورت آھي. مثال طور، ٽيبل جي صورت ۾، گراف يا چارٽ (مختلف قسمن کي استعمال ڪندي). ساڳئي وقت، نظرن جي عمل کي متاثر ڪرڻ کان سواء، توهان صارف جي عملن تي رد عمل تبديل ڪري سگهو ٿا (هڪ بٽڻ تي ڪلڪ ڪندي، ڊيٽا داخل ڪرڻ). جيڪڏهن توهان MVC جي اصولن تي عمل ڪريو ٿا، توهان پروگرامن جي لکڻين کي آسان بڻائي سگهو ٿا، ڪوڊ جي پڙهڻ جي صلاحيت وڌائي سگهو ٿا، ۽ مستقبل ۾ سسٽم کي وڌائڻ ۽ برقرار رکڻ آسان بڻائي سگهو ٿا. "انٽرپرائز ڊولپمينٽ جو تعارف" سيريز جي آخري مواد ۾، اسان مثال طور اسپرنگ-MVC استعمال ڪندي MVC جي عمل کي ڏسنداسين. حصو 8. اسپرنگ بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION