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

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

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

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