Logo ar.removalsclassifieds.com

الفرق بين MVC و MVC2 (مع الجدول)

جدول المحتويات:

Anonim

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

MVC مقابل MVC2

الفرق بين MVC و MVC2 هو أن MVC هو نموذج تصميم تطبيق يتكون من ثلاثة أجزاء مترابطة بينما MVC2 هو نمط أكثر تعقيدًا حيث يتم فصل حالة التطبيق ومنطق التحكم في العرض. يتضمن MVC النموذج (البيانات) ، والعرض (واجهة المستخدم) ، ووحدة التحكم (طلب العمليات). الفرق الرئيسي بين MVC و MVC2 هو التعقيد. في تطبيقات الويب الخاصة بعالم Java ، يرتبط نموذجا التصميم الشائعان (الطراز 1 والطراز 2) ارتباطًا وثيقًا بـ MVC وغالبًا ما يشار إليهما خطأً باسم MVC1 (أو MVC فقط) و MVC2.

كان MVC هو نهج الجيل الأول في تطبيقات الويب Java حيث تم استخدام صفحات JavaServer Page (JSP) لواجهة المستخدم جنبًا إلى جنب مع JavaBeans والتي يمكن أن تغلف كائنات متعددة في كائن واحد لتنفيذ بنية MVC. يتم إرسال طلبات المستخدم من المتصفح إلى JSP الذي يحتفظ بمنطق وحدة التحكم ويربط النموذج بالبيانات التي من شأنها تحديث العرض وإرسال الاستجابة مرة أخرى إلى المستخدم الذي يتم عرضه في واجهة المستخدم. يجمع هذا الأسلوب بين وظيفة التحكم والعرض داخل صفحة JSP وبالتالي يكسر نموذج MVC.

تم تقديم MVC2 بواسطة Sun Microsystem org كنمط تصميم لا يكسر نموذج MVC ، على عكس MVC ، حيث تم فصل منطق الأعمال عن طرق العرض وتم التعامل مع جميع طلبات العميل في مكان واحد بدلاً من كل ملف JSP في MVC. في نمط MVC2 ، يتم استبدال JSP بـ servlets لمنطق وحدة التحكم.

جدول المقارنة بين MVC و MVC2

معلمة المقارنة

MVC

MVC2

تعريف

في MVC ، يكون المكون الفردي مسؤولاً عن تلقي الطلبات وإرسال الردود. في MVC2 ، توجد مكونات متعددة لتلقي الطلبات وإرسال الردود. أي تحكم وعرض.
التنقل

في MVC ، يحتوي كل JSP على وحدة تحكم ومنطق عرض يحدد التنقل في صفحة العرض التالية التي تجعلها مُعاد توزيعها في MVC2 ، يحتوي servlet على منطق التنقل لصفحة العرض التالية مما يجعلها مركزية
استهلاك الوقت

يستغرق المزيد من الوقت لكتابة التعليمات البرمجية لتطوير علامات JSP المخصصة لتجنب علامة scriptlet يستغرق وقتًا أقل للتطوير نظرًا لأن جميع عناصر التحكم في التنقل مركزية.
الاستقلال

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

من الصعب إعادة الاستخدام والتوسيع بسبب الاقتران الوثيق بين المنطق والعرض من السهل إعادة الاستخدام والتوسيع وهو ما يناسب التطبيقات الأكبر حجمًا

ما هو MVC?

MVC هو نمط تصميم معماري للمشاكل المتكررة لتصميم البرامج والذي يعطي نهج وصف عالي المستوى للحل. تشتمل بنية MVC على ثلاث وحدات: النموذج والعرض ووحدة التحكم.

نموذج: إنه يمثل حالة البيانات (التي يتم عرضها للمستخدم في صفحة العرض).

رأي: وحدة العرض هي واجهة المستخدم التي يقوم المستخدم من خلالها بتنفيذ الإجراء ويتواصل داخليًا مع الخادم.

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

يبدأ MVC بقبول JSP لطلب العميل الذي يعمل مع JavaBeans لمنطق معالجة البيانات الذي يتم إرساله إلى العميل. يتم تقسيم المهمة بين JavaBeans و JSP حيث يستدعي JSP JavaBeans ومنطق الأعمال حيث يقوم JavaBeans داخليًا باستدعاء قاعدة البيانات لحفظ / الحصول على البيانات. في النهاية ، يرسل JSP الرد إلى العميل الذي يقوم بتحديث العرض في المتصفح.

JavaBeans التي يشار إليها أيضًا باسم Beans هي المسؤولة عن تغليف كائنات متعددة في كائن واحد بينما يحتوي JSP على كل من المراقب ومنطق العرض. يُشار أيضًا إلى MVC على أنه مركز الصفحة نظرًا لوصوله المباشر إلى صفحة عرض أخرى والتي تعتبر مثالية للتطبيقات الأصغر.

ما هو MVC2?

يعتقد معظم مهندسي البرمجيات أن MVC2 هو نسخة محسنة من MVC ، مثل الإصدار 2.0 ؛ إنه ليس كذلك. تم تطوير النموذج 1 والنموذج 2 بشكل متزامن وهما نوعان مختلفان من كيفية القيام بالأشياء.

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

هنا ، في MVC2 ، تعمل servlet كطبقة تحكم وهي أيضًا واجهة بين طبقة العرض وطبقة النموذج حيث تتلقى الطلب من العميل أو واجهة المستخدم التي ليست سوى طبقة العرض ، وتعالجها بالتحقق المناسب إذا لزم الأمر. يحتوي JSP على منطق عرض يستخدم Beans داخليًا ، لذلك إذا قامت servlets بتحديث حالة النموذج ، فإنه ينعكس في صفحة العرض.

على عكس MVC ، لا يحتوي JSP في MVC2 على كل من وحدات التحكم ومنطق العرض ؛ مسؤوليتها الوحيدة هي جلب الحالة المحدثة للنموذج من تلك servlet لعرضها على صفحة العرض.

الاختلافات الرئيسية بين MVC و MVC2

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

يمكن تلخيص العامل المميز بين علاقات MVC و MVC2 على الأسس التالية:

  1. في MVC ، يكون المكون الفردي مسؤولاً عن تلقي الطلبات وإرسال الردود ولكن في MVC2 ، هناك مكونات متعددة لتلقي الطلبات وإرسال الردود. أي تحكم وعرض.
  2. يقرن MVC1 منطق العرض بإحكام بمنطق الأعمال ولكن MVC 2 يعزل أو يفصل منطق العرض عن منطق الأعمال.
  3. في MVC Business ، يتم دمج منطق العرض ومنطق العرض في JSP ، لذلك لا يمكن لمصممي الويب ومطوري الويب العمل في وقت واحد ولكن في MVC2 يوجد فصل بين المنطق والعرض وهذا هو سبب قدرة المصمم والمطور على العمل معًا.
  4. في MVC 1 ، وحدة التحكم والنموذج ، كلاهما JSP أو يمكننا القول أنه مكتوب في نفس JSP. ولكن في MVC2 ، تكون وحدة التحكم هي servlet والنموذج هو فئة Java.
  5. لا يدعم MVC إعادة استخدام مكونات التطبيق بينما يدعم MVC2 إعادة استخدام المكونات وهو أمر جيد للتطبيقات الأكبر والأكثر تعقيدًا.

استنتاج

كما رأينا فرق الخط السميك بين MVC و MVC2 على الرغم من وجود أسماء متشابهة ولكن كلاهما يستخدم كحلول لمشاكل تصميم النظام المتكررة.

يعد MVC2 أكثر تعقيدًا ولديه فصل في الاهتمامات يتم استخدامه لتطبيقات أكبر أو تجربة مستخدم بديهية بسبب ميزته المركزية حيث يتم التعامل مع جميع الطلبات بواسطة وحدة تحكم واحدة. على عكس MVC حيث JSP الحالي هو الذي يحدد صفحة العرض التالية لفتحها.

يقوم MVC2 بفصل صفحات العرض عن وحدات التحكم ، على عكس MVC الذي يحافظ على منطق الأعمال والعرض مقرونًا في JSP. ومن ثم ، فإن صيانة MVC2 أسهل لمستخدمين متعددين بسبب قابليتها لإعادة الاستخدام وميزة التوسع وقادرة على دعم نظام أكثر تعقيدًا في الوقت الفعلي ، مثل Facebook و Instagram.

مراجع

  1. https://www.scientific.net/AMM.198-199.537
  2. https://ieeexplore.ieee.org/abstract/document/777091/
  3. https://academic.oup.com/jpp/article-abstract/64/3/397/6135294

الفرق بين MVC و MVC2 (مع الجدول)