Hierarchical model–view–controller
ہائیرارکیکل ماڈل ویو کنٹرولر (ایچ ایم وی سی) ایک سافٹ ویئر آرکیٹیکچرل پیٹرن ہے، جو ماڈل ویو کنٹرولر (ایم وی سی) کا ایک تغیر ہے جو پریزنٹیشن-ابسٹرکشن کنٹرول (پی اے سی) سے ملتا جلتا ہے، جو 2000 میں جاوا ورلڈ میگزین میں ایک مضمون میں شائع ہوا تھا، مصنفین بظاہر پی اے سی سے بے خبر تھے، جو 13 سال پہلے شائع ہوا تھا۔ کنٹرولر کی کچھ نگرانی ہوتی ہے کہ وہ کنٹرولر کے ذریعہ منظوری کے طریقہ کار کا احساس کرتے ہوئے پہلے ماڈل اور پھر ویو کا انتخاب کرتا ہے۔ ماڈل ویو کو ڈیٹا سورس تک براہ راست رسائی سے روکتا ہے۔ مثال ایچ ایم وی سی فن تعمیر کو استعمال کرنے کا سب سے بڑا عملی فائدہ مواد کے ڈھانچے کی "ویجیٹائزیشن" ہے۔ ایک مثال تبصرے، درجہ بندی، ٹویٹر یا بلاگ آر ایس ایس فیڈ ڈسپلے، یا ای کامرس ویب سائٹ کے لیے شاپنگ کارٹ کے مواد کی نمائش ہو سکتی ہے۔ یہ بنیادی طور پر مواد کا ایک ٹکڑا ہے جسے متعدد صفحات پر ظاہر کرنے کی ضرورت ہے، اور ممکنہ طور پر یہاں تک کہ مختلف جگہوں پر بھی، مرکزی HTTP درخواست کے سیاق و سباق پر منحصر ہے۔ روایتی ایم وی سی فریم ورک عام طور پر اس قسم کے مواد کے ڈھانچے کے لیے براہ راست جواب فراہم نہیں کرتے ہیں، لہذا پروگرامر اکثر اپنی مرضی کے مطابق مددگاروں کا استعمال کرتے ہوئے، اپنے ویجیٹ ڈھانچے یا لائبریری فائلیں بناتے ہیں، یا مرکزی درخواست کردہ کنٹرولر سے غیر متعلقہ ڈیٹا کھینچتے ہیں تاکہ ویو کو آگے بڑھایا جا سکے اور جزوی طور پر پیش کیا جا سکے۔ منفی پہلو یہ ہے کہ مواد کے کسی خاص حصے کو پیش کرنے یا مطلوبہ ڈیٹا کو لوڈ کرنے کی ذمہ داری متعدد علاقوں میں لیک ہو جاتی ہے اور متعلقہ جگہوں پر نقل ہو جاتی ہے۔ ایچ ایم وی سی، یا خاص طور پر ان ذمہ داریوں کو سنبھالنے کے لیے کنٹرولر کو ذیلی درخواستیں بھیجنے کی صلاحیت کا مقصد اس مسئلے کو حل کرنا ہے۔ یہ ڈھانچہ روایتی ایم وی سی کی نقل کرتا ہے۔ مثال کے طور پر، اگر کسی کو تبصرے کے بارے میں کچھ ڈیٹا لوڈ کرنے کی ضرورت ہے، اور انہیں ایچ ٹی ایم ایل فارمیٹ میں دکھانے کی ضرورت ہے، تو کوئی کچھ پیرامیٹرز کے ساتھ کمنٹس کنٹرولر کو درخواست بھیجے گا۔ اس کے بعد درخواست ماڈل کے ساتھ تعامل کرتی ہے، ایک ویو چنتی ہے، جو مواد کو ظاہر کرتی ہے۔ روایتی ایم وی سی سے فرق یہ ہے کہ تبصروں کو مکمل طور پر الگ صفحہ میں ظاہر کرنے کے بجائے، وہ صارف کے آرٹیکل کے نیچے ان لائن دکھائے جاتے ہیں۔ اس سلسلے میں، ایچ ایم وی سی کوڈ ماڈیولرٹی کو بڑھانے، دوبارہ استعمال میں مدد کرنے، اور خدشات کی بہتر علیحدگی کو برقرار رکھنے کی کوشش کرتا ہے۔ پریزنٹیشن-ابسٹرکشن-کنٹرول (پی اے سی) ماڈل-ویو-کنٹرولر (ایم وی سی) حوالہ جات سافٹ ویئر تجزیہ پیٹرن بھی دیکھیں۔