MVC مقابل MVC2: الفرق والمقارنة

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

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

الوجبات السريعة الرئيسية

  1. يفصل MVC منطق التطبيق إلى نموذج وعرض ووحدة تحكم ، بينما يعزز MVC2 هذا الفصل بنوعين من وحدات التحكم: التطبيق والعرض.
  2. تستخدم MVC وحدة تحكم واحدة للتعامل مع مدخلات المستخدم ، بينما تدير وحدة التحكم في التطبيق الخاصة بـ MVC2 الوظائف المشتركة ، بينما تتولى وحدة التحكم في العرض مهام خاصة بالعرض.
  3. يعمل MVC2 على تحسين إمكانية إعادة الاستخدام والصيانة عن طريق تقليل التبعيات بين المكونات مقارنةً بـ MVC.

MVC مقابل MVC2

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

MVC مقابل MVC2

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

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

يجمع هذا الأسلوب بين وظيفة التحكم والعرض داخل صفحة JSP وبالتالي يكسر نموذج MVC. 

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

في نمط MVC2 ، يتم استبدال JSP بـ servlets لمنطق وحدة التحكم.

جدول المقارنة

معلمة المقارنةMVCMVC2
تعريففي MVC ، يكون المكون الفردي مسؤولاً عن تلقي الطلبات وإرسال الردود.في MVC2 ، توجد مكونات متعددة لتلقي الطلبات وإرسال الردود. أي تحكم وعرض.
قائمة الإختياراتفي MVC ، يحتوي كل JSP على وحدة تحكم ومنطق عرض يحدد التنقل في صفحة العرض التالية التي تجعلها مُعاد توزيعهافي MVC2 ، يحتوي servlet على منطق التنقل لصفحة العرض التالية مما يجعلها مركزية
استهلاك الوقتيستغرق المزيد من الوقت لكتابة التعليمات البرمجية لتطوير علامات JSP المخصصة لتجنب علامة scriptletيستغرق وقتًا أقل للتطوير نظرًا لأن جميع عناصر التحكم في التنقل مركزية.
الاستقلالية يتم دمج منطق الأعمال ومنطق العرض في JSP ، لذلك لا يمكن لمصممي الويب ومطوري الويب العمل في وقت واحد.نظرًا لأنه يحتوي على فصل بين المنطق والعرض ، يمكن للمصمم والمطور العمل معًا.
إعادة الاستخداممن الصعب إعادة الاستخدام والتوسيع بسبب الاقتران الوثيق بين المنطق والعرضمن السهل إعادة الاستخدام والتوسيع وهو ما يناسب التطبيقات الأكبر حجمًا

ما هو MVC?

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

اقرأ أيضا:  Twitter مقابل الرسائل النصية: الفرق والمقارنة

طراز: يمثل حالة البيانات (التي يتم عرضها للمستخدم في صفحة العرض).

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

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

يبدأ MVC بقبول JSP لطلب العميل الذي يعمل مع JavaBeans لمنطق معالجة البيانات الذي يتم إرساله إلى العميل.

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

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

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

ما هو MVC2?

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

MVC2 هو نمط أكثر تعقيدًا حيث يتم فصل حالة التطبيق ومنطق التحكم في العرض التقديمي.

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

اقرأ أيضا:  Snapchat vs Sharechat: الفرق والمقارنة

هنا ، في 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 ، يتم دمج منطق الأعمال ومنطق العرض في JSP ، لذلك لا يمكن لمصممي الويب ومطوري الويب العمل في وقت واحد ، ولكن في MVC2 ، هناك فصل بين المنطق والعرض ، ولهذا السبب يمكن للمصمم والمطور العمل معًا.
  4. في MVC 1 ، كل من وحدة التحكم والطراز هما JSP ، أو يمكننا القول أنهما مكتوبان في نفس JSP. لكن في MVC2 ، تكون وحدة التحكم عبارة عن servlet ، والنموذج هو فئة Java.
  5. لا يدعم MVC إعادة استخدام مكونات التطبيق ، بينما يدعم MVC2 إعادة استخدام المكونات وهو أمر جيد للتطبيقات الأكبر والأكثر تعقيدًا.

مراجع حسابات

  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

آخر تحديث: 08 أغسطس 2023

النقطة 1
طلب واحد؟

لقد بذلت الكثير من الجهد في كتابة منشور المدونة هذا لتقديم قيمة لك. سيكون مفيدًا جدًا بالنسبة لي ، إذا كنت تفكر في مشاركته على وسائل التواصل الاجتماعي أو مع أصدقائك / عائلتك. المشاركة هي ♥ ️

24 أفكار حول "MVC vs MVC2: الفرق والمقارنة"

  1. توفر المقالة فهمًا شاملاً لأنماط تصميم MVC وMVC2، خاصة فيما يتعلق باختلافاتها المعمارية وتأثيرها على إمكانية إعادة الاستخدام والإنتاجية.

    رد
    • في الواقع، توضح المقالة بشكل فعال الفروق المعمارية بين MVC وMVC2، خاصة فيما يتعلق بالتعاون بين المطورين واستهلاك الوقت.

      رد
    • من المؤكد أن تركيز المقالة على الاختلافات المعمارية بين MVC وMVC2، وتأثيرها على إمكانية إعادة الاستخدام والتعاون، يعد أمرًا ثاقبًا للغاية.

      رد
  2. توفر المقالة فهمًا واضحًا وموجزًا ​​لأنماط تصميم MVC وMVC2، مع التركيز على كيفية تحسين التنقل المركزي لـ MVC2 وفصل المنطق والعرض من إمكانية إعادة الاستخدام والتعاون.

    رد
    • احسنت القول. توضح المقالة بشكل فعال كيف تفيد التحسينات المعمارية لـ MVC2 كلا من المطور والمصمم في بيئة تعاونية.

      رد
  3. تقدم المقالة نظرة تفصيلية حول التطور من MVC إلى MVC2، إلى جانب جدول المقارنة الذي يسلط الضوء بشكل فعال على كيفية تحسين MVC2 لقابلية إعادة الاستخدام والكفاءة.

    رد
    • متفق. المقارنة بين MVC وMVC2، خاصة فيما يتعلق بقابلية إعادة الاستخدام والتبعية، مثيرة للاهتمام للغاية.

      رد
  4. تشرح المقالة بشكل فعال الاختلافات بين MVC وMVC2، خاصة فيما يتعلق بالتنقل واستهلاك الوقت والتعاون بين المصممين والمطورين.

    رد
    • بالتأكيد، لقد وجدت أن الأفكار الواردة في المقالة حول الاختلافات بين MVC وMVC2 مفيدة جدًا ومفصلة جيدًا.

      رد
    • أنا اتفق. تعتبر المقارنة التفصيلية بين MVC وMVC2، خاصة فيما يتعلق بتأثيرها على استهلاك الوقت والتعاون في مجال التطوير، مفيدة للغاية.

      رد
  5. توفر المقالة رؤية تفصيلية لأنماط تصميم MVC وMVC2، مع التركيز على الاختلافات المعمارية وتأثيرها على الإنتاجية والتعاون بين المصممين والمطورين.

    رد
    • أنا موافق. تعتبر المقارنة المتعمقة التي تتضمنها المقالة بين MVC وMVC2، خاصة فيما يتعلق بقابلية إعادة الاستخدام والاستقلال، مفيدة للغاية وثاقبة.

      رد
    • بالتأكيد، توضح المقالة بشكل فعال الفروق بين MVC وMVC2، خاصة فيما يتعلق باستهلاك الوقت وتعاون المطورين.

      رد
  6. تم شرح التمييز بين MVC وMVC2، بالإضافة إلى تأثيرهما على قابلية إعادة الاستخدام والإنتاجية، بشكل فعال في هذه المقالة.

    رد
    • لا يمكن اقبل المزيد. إن شرح MVC وMVC2 واضح وموجز وغني بالمعلومات، خاصة من حيث تأثيرهما على تعاون المطورين.

      رد
    • بالتأكيد، توفر هذه المقالة فهمًا شاملاً للاختلافات المعمارية بين MVC وMVC2، خاصة فيما يتعلق باستهلاك الوقت وإمكانية إعادة الاستخدام.

      رد
  7. تم عرض المقارنة بين MVC وMVC2، إلى جانب تأثير كل منهما على استهلاك الوقت، وقابلية إعادة الاستخدام، والاستقلالية، بشكل جيد في المقالة.

    رد
  8. لقد تم توضيح التمييز بين MVC وMVC2 بشكل فعال في هذه المقالة. من الواضح أن MVC2 هو أسلوب أكثر قوة ومركزية للتعامل مع طلبات المستخدمين وعرض التنقل.

    رد
    • متفق. توفر المقالة تحليلاً شاملاً للاختلافات الرئيسية بين MVC وMVC2، مع التركيز على الطبيعة المركزية لـ MVC2 باعتبارها تحسنًا كبيرًا.

      رد
  9. توفر هذه المقالة نظرة عامة رائعة على أنماط تصميم MVC وMVC2، مع تسليط الضوء على زيادة قابلية إعادة الاستخدام وقابلية الصيانة والاستقلالية التي يوفرها MVC2.

    رد
    • في الواقع، يوضح جدول المقارنة والوجبات الرئيسية في المقالة بشكل فعال الاختلافات والتحسينات بين MVC2 وMVC.

      رد

اترك تعليق

هل تريد حفظ هذه المقالة لوقت لاحق؟ انقر فوق القلب الموجود في الزاوية اليمنى السفلية للحفظ في مربع المقالات الخاصة بك!