CodeGym /جاوا بلاگ /Random-SD /حصو 7. متعارف ڪرائڻ MVC (ماڊل-ڏسو-ڪنٽرولر) نمونو
John Squirrels
سطح
San Francisco

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

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

MVC جي تاريخ

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

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

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

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

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

مرحلا 2 ماڊل کي اڃا به وڌيڪ آزاد بڻائڻ ۽ يوزر انٽرفيس کي هم وقت سازي ڪرڻ لاءِ مبصر نموني استعمال ڪريو

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

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

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

ٿورڙي بابت ڪيئن ڏسڻ ۽ ڪنٽرولر ماڊل سان لهه وچڙ ۾

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

MVC: اسان ڇا حاصل ڪريون ٿا؟

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