البرنامج التعليمي لإطار عمل MVC للمبتدئين: ما هو، Archiالتكنولوجيا والمثال

ما هو إطار عمل MVC؟

إنّ وحدة تحكم عرض النموذج (MVC) الإطار هو نمط معماري يفصل التطبيق إلى ثلاثة مكونات منطقية رئيسية وهي النموذج والعرض ووحدة التحكم. ومن هنا جاء الاختصار MVC. تم بناء كل مكون معماري للتعامل مع جانب تطوير معين للتطبيق. يفصل MVC بين منطق العمل وطبقة العرض عن بعضهما البعض. كان يستخدم تقليديًا لواجهات المستخدم الرسومية لسطح المكتب (GUIs). في الوقت الحاضر، أصبحت بنية MVC في تكنولوجيا الويب شائعة لتصميم تطبيقات الويب بالإضافة إلى تطبيقات الهاتف المحمول.

تاريخ شركة MVC

  • تمت مناقشة هندسة MVC لأول مرة في عام 1979 بواسطة Trygve Reenskaug
  • تم تقديم نموذج MVC لأول مرة في عام 1987 في لغة برمجة Smalltalk.
  • تم قبول MVC لأول مرة كمفهوم عام، في مقالة عام 1988
  • في الآونة الأخيرة، تم استخدام نمط MVC على نطاق واسع في تطبيقات الويب الحديثة

مميزات برنامج MVC

  • قابلية اختبار سهلة وبدون احتكاك. إطار عمل قابل للاختبار وقابل للتوسيع والتوصيل بدرجة عالية
  • لتصميم بنية تطبيق ويب باستخدام نمط MVC، فإنه يوفر التحكم الكامل في HTML الخاص بك وكذلك عناوين URL الخاصة بك
  • الاستفادة من الميزات الموجودة التي توفرها ASP.NET، وJSP، وDjango، وما إلى ذلك.
  • الفصل الواضح بين المنطق: النموذج، والعرض، ووحدة التحكم. فصل مهام التطبيق مثل منطق الأعمال، ومنطق UL، ومنطق الإدخال
  • توجيه URL لعناوين URL الصديقة لكبار المسئولين الاقتصاديين (SEO). تعيين URL قوي لعناوين URL المفهومة والقابلة للبحث
  • يدعم التطوير القائم على الاختبار (TDD)

MVC Architecture

فيما يلي البنية التفصيلية لإطار عمل MVC:

MVC Architecture
MVC Archiمخطط فني

ثلاثة مكونات مهمة لـ MVC هي:

  • النموذج: يشمل جميع البيانات والمنطق المرتبط بها
  • عرض: تقديم البيانات للمستخدم أو التعامل مع تفاعل المستخدم
  • وحدة التحكم: واجهة بين مكونات النموذج والعرض

دعونا نرى بعضنا البعض هذا المكون بالتفصيل:

عرض

العرض هو ذلك الجزء من التطبيق الذي يمثل عرض البيانات.

يتم إنشاء طرق العرض بواسطة البيانات المجمعة من بيانات النموذج. تطلب طريقة العرض من النموذج تقديم معلومات بحيث يقدم العرض التقديمي للمخرجات إلى المستخدم.

كما يمثل العرض أيضًا البيانات من المخططات والرسوم البيانية والجداول. على سبيل المثال، سيتضمن أي عرض للعملاء جميع مكونات واجهة المستخدم مثل مربعات النص والقوائم المنسدلة وما إلى ذلك.

مراقب

وحدة التحكم هي ذلك الجزء من التطبيق الذي يتعامل مع تفاعل المستخدم. تقوم وحدة التحكم بتفسير مدخلات الماوس ولوحة المفاتيح من المستخدم، وإبلاغ النموذج وطريقة العرض بالتغيير حسب الاقتضاء.

ترسل وحدة التحكم أوامر إلى النموذج لتحديث حالته (على سبيل المثال، حفظ مستند معين). ترسل وحدة التحكم أيضًا أوامر إلى طريقة العرض المرتبطة بها لتغيير طريقة العرض التقديمية (على سبيل المثال، تمرير مستند معين).

الموديل

يقوم مكون النموذج بتخزين البيانات والمنطق المرتبط بها. وهو يمثل البيانات التي يتم نقلها بين مكونات وحدة التحكم أو أي منطق عمل آخر ذي صلة. على سبيل المثال، سيقوم كائن وحدة التحكم باسترداد معلومات العميل من قاعدة البيانات. يعالج البيانات ويرسلها مرة أخرى إلى قاعدة البيانات أو يستخدمها لتقديم نفس البيانات.

يستجيب للطلب من طرق العرض ويستجيب أيضًا لتعليمات وحدة التحكم لتحديث نفسه. وهو أيضًا أدنى مستوى للنمط المسؤول عن الحفاظ على البيانات.

أمثلة على MVC

دعونا نرى مثال وحدة تحكم عرض النموذج من الحياة اليومية:

مثال 1

أمثلة على MVC

  • لنفترض أنك ذهبت إلى مطعم. لن تذهب إلى المطبخ وتقوم بإعداد الطعام الذي يمكنك بالتأكيد القيام به في منزلك. بدلاً من ذلك، تذهب إلى هناك وتنتظر وصول النادل.
  • الآن يأتي النادل إليك، وأنت تطلب الطعام. النادل لا يعرف من أنت وماذا تريد، لقد كتب للتو تفاصيل طلب الطعام الخاص بك.
  • ثم ينتقل النادل إلى المطبخ. في المطبخ، النادل لا يقوم بإعداد طعامك.
  • يقوم الطاهي بإعداد طعامك، ويسلم النادل طلبك إليه مع رقم طاولتك.
  • قم بطهي الطعام ثم أعده لك. يستخدم المكونات لطهي الطعام. لنفترض أن طلبك شطيرة الخضار. ثم يحتاج إلى الخبز والطماطم والبطاطس والفلفل والبصل والقليل والجبن وما إلى ذلك الذي يحصل عليه من الثلاجة
  • قم بطهي الطعام ثم قم بتسليم الطعام للنادل. الآن أصبحت مهمة النادل نقل هذا الطعام خارج المطبخ.
  • الآن يعرف النادل الطعام الذي طلبته وكيفية تقديمه.

في هذا المثال لهندسة MVC،

View= You
Waiter= Controller
Cook= Model
Refrigerator= Data

دعونا نرى مثالاً آخر لنموذج MVC،

مثال 2

أمثلة على MVC

تعتبر آلية قيادة السيارة مثالاً آخر لنموذج MVC.

  • تتكون كل سيارة من ثلاثة أجزاء رئيسية.
  • عرض= واجهة المستخدم: (ذراع التروس، الألواح، عجلة القيادة، الفرامل، إلخ.)
  • جهاز التحكم - الآلية (المحرك)
  • الموديل- التخزين (خزان بنزين أو ديزل)

تعمل السيارة من المحرك وتأخذ الوقود من المخزن، ولكنها تعمل فقط باستخدام أجهزة واجهة المستخدم المذكورة.

أطر ويب MVC الشعبية

فيما يلي قائمة ببعض أطر عمل MVC الشائعة:

مزايا MVC: الفوائد الرئيسية

فيما يلي الفوائد الرئيسية لاستخدام بنية MVC:

  • صيانة سهلة للكود والتي يسهل توسيعها ونموها
  • يمكن اختبار مكون نموذج MVC بشكل منفصل عن المستخدم
  • دعم أسهل لأنواع جديدة من العملاء
  • يمكن تنفيذ تطوير المكونات المختلفة بالتوازي.
  • يساعدك على تجنب التعقيد من خلال تقسيم التطبيق إلى ثلاث وحدات. النموذج والعرض ووحدة التحكم
  • إنه يستخدم فقط نمط وحدة التحكم الأمامية الذي يعالج طلبات تطبيقات الويب من خلال وحدة تحكم واحدة.
  • يقدم أفضل دعم ل التنمية القائمة على الاختبار
  • إنه يعمل بشكل جيد مع تطبيقات الويب التي تدعمها فرق كبيرة من مصممي ومطوري الويب.
  • يوفر فصلًا نظيفًا للمخاوف (SoC).
  • تحسين محركات البحث (SEO) ودية.
  • جميع الفئات والكائنات مستقلة عن بعضها البعض بحيث يمكنك اختبارها بشكل منفصل.
  • يسمح نمط تصميم MVC بالتجميع المنطقي للإجراءات ذات الصلة على وحدة التحكم معًا.

عيوب استخدام MVC

  • من الصعب قراءة هذا النموذج وتغييره واختبار الوحدة وإعادة استخدامه
  • قد يكون التنقل في الإطار معقدًا في بعض الأحيان لأنه يقدم طبقات جديدة من التجريد والتي تتطلب من المستخدمين التكيف مع معايير تحلل MVC.
  • لا يوجد دعم التحقق الرسمي
  • زيادة تعقيد البيانات وعدم كفاءتها
  • صعوبة استخدام MVC مع واجهة المستخدم الحديثة
  • هناك حاجة لمبرمجين متعددين لإجراء برمجة متوازية.
  • مطلوب معرفة تقنيات متعددة.
  • صيانة الكثير من الأكواد في وحدة التحكم

3 الطبقة Architecture مقابل MVC Architecture

معامل 3-المستوى Architecture MVC Architecture
التواصل لا يتواصل هذا النوع من أنماط الهندسة المعمارية أبدًا بشكل مباشر مع طبقة البيانات. تتواصل جميع الطبقات مباشرة باستخدام طوبولوجيا المثلث.
الأستعمال 3-tier: يُستخدم على نطاق واسع في تطبيقات الويب حيث يعمل العميل وطبقات البيانات والبرامج الوسيطة على منصات منفصلة فعليًا. يُستخدم بشكل عام في التطبيقات التي تعمل على محطة عمل رسومية واحدة.

الملخص

  • MVC هو نمط معماري يفصل التطبيق إلى 1) نموذج، 2) عرض و3) وحدة تحكم
  • النموذج: يشمل جميع البيانات والمنطق المرتبط بها
  • عرض: تقديم البيانات للمستخدم أو التعامل مع تفاعل المستخدم
  • وحدة التحكم: واجهة بين مكونات النموذج والعرض
  • تمت مناقشة هندسة MVC لأول مرة في عام 1979 بواسطة Trygve Reenskaug
  • هندسة MVC في Java هو إطار عمل قابل للاختبار وقابل للتوسيع والتوصيل بدرجة كبيرة
  • بعض أطر عمل MVC الشائعة هي Rails وZend Framework وCodeIgniter وLaravel وFuel PHP وما إلى ذلك.