سؤال

أنا أقرأ عن نمط ASP.net MVP خلال نهاية هذا الأسبوع ويبدو أن المهمة الأكثر بساطة تتطلب الكثير من الجهد إذا قمت بذلك في نمط MVP يبدو أن المكافأة في مشروع أكبر ولكني أفكر في نفسي إذا كنت كذلك الذهاب لمتابعة MVP.لماذا لا تقوم فقط بالمشروع في ASP.net MVC؟

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

هل يستحق اتباع نمط MVP الجهد المبذول أو مجرد التبديل إلى ASP.net MVC؟

هل كانت مفيدة؟

المحلول

إذا كنت بدء مشروع جديد، ثم ASP.net MVC هو الخيار الأفضل. ولكن إذا كنت ترغب فقط في ريفاكتور مشروع قائم كما قلت قبل قليل، ثم MVP هو الخيار لأنه لا يوجد طريقة سهلة لتحويل تلك نماذج الويب رموز لMVC.

نصائح أخرى

أوصي بقراءة الرابطين التاليين لتتمكن من الاطلاع على MVP وMVC بسرعة:

هل يجب عليك التبديل؟
بناءً على ما أخبرتني به، أوصي باستخدام نموذج Passive MVP المذكور في المقالة أعلاه.

افتراضاتي الرئيسية هي:

  1. تعاملك مع قاعدة التعليمات البرمجية الموجودة لتطبيقات WebForms
  2. تحتاج إلى استخدام عناصر تحكم ThirdParty .Net للوظائف الموجودة
  3. أنت تعمل على التطبيقات الحالية وليس لديك الوقت لإعادة تصميمها
  4. أي تطبيقات ويب ASP.Net تعمل عليها في المستقبل، يمكنك تطبيق MVP السلبي بشكل تدريجي والحصول على فوائد TDD على الفور

طريقة العرض الخاصة بك (codebehind + aspx) تصبح غبية وتؤدي فقط مهام بسيطة:

  • أخذ المعلومات المقدمة من مقدم العرض
  • يستجيب للأحداث ويقدم المعلومات مرة أخرى إلى مقدم العرض

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

بعض الروابط لعناصر MVP التي يعتمد النموذج الذي استخدمته على:

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

نأمل أن يساعد هذا، لا تتردد في طرح أي أسئلة.

في رأيي، والطريقة المثلى للذهاب للتطبيقات الجديدة MVC. ومع ذلك، إذا كان لديك الكثير من التعليمات البرمجية باستخدام بالفعل لدت WebForms، ثم نمط MVP هو الطريق للذهاب.

واود ان اذهب Asp.Net MVC لو كان مشروعا جديدا، ولكن أنا أتفق، MVP قد يكون نمط جيد للمشاريع نماذج الويب القديمة.

وهنا مثال من وجهة نظري بلوق: HTTP: // شبكة الاتصالات العالمية .unit-testing.net / CurrentArticle / كيف لاستخدام الموديل-عرض-مقدم-مع-المنتسبة-WebForms.html

ورأيي الشخصي هو أنه إذا كان هناك الكثير من التعليمات البرمجية في التعليمات البرمجية خلف، لا تزال هناك طرق أخرى من تبني M-V-P من أجل ضئيلة عليه، ريفاكتور وجعلها قابلة للاختبار.

وإذا صفحتك تفاعل المستخدم واسعة النطاق (مثل أزرار / الروابط تمكين / تعطيل، والألواح والضوابط التي تظهر / تختفي) سوف M-V-P يستحق مشاحنات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top