سؤال

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

على وجه التحديد، هل يؤدي إجراء وحدة التحكم في ASP.NET MVC إلى إعادة طريقة العرض التي تنشئ طريقة العرض هذه؟في MVC، لا تقوم وحدة التحكم بإنشاء طرق عرض أو الرد عليها.ما مدى دقة استدعاء ASP.NET MVC لتطبيق MVC؟أو ما هو الاسم الدقيق لها؟

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

المحلول

وأعتقد أنه من روبي على القضبان التي ألهمت MS لإنشاء asp.net MVC.

نصائح أخرى

وASP.NET MVC هو مجرد الإقرار مايكروسوفت لنجاح تنفيذ MVC ضمن الأطر على شبكة الإنترنت مثل روبي على القضبان وجانغو. إدراك أن العديد من مطوري الويب يرغب في الحصول على مزيد من الأيدي على النهج المتبع في تطوير الشبكة التي تضم "برأيه" نموذج البرمجة (الاتفاقية على التكوين) وشردت بعيدا عن التجريد جليل الذي يوفر ASP.NET لدت WebForms.

هل هو التنفيذ الدقيق لنمط من Smalltalk MVC؟ رقم هل هو نتيجة الذعر؟ رقم هل هو نتيجة لنجاح كل من روبي على القضبان وجانغو؟ نعم.

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

قريب بما فيه الكفاية، وهي استراتيجية المبيعات.

إنهم يبيعون ASP.NET مقابل تقنيات أخرى تُعرف باسم MVC.لذلك من المفيد بشكل تنافسي تسميتها حتى يتم إدراكها في نفس الفئة.

تفوز Microsoft في كثير من الأحيان من خلال تحديد موضع المنتج بدلاً من التحديد الدقيق للتكنولوجيا.(بالإضافة إلى التسليم على المدى الطويل، IMHO.)

وScottGu يتملص من الإجابة في الجزء الأول من منصبه في أول مظاهرة MVC <لأ href = "http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc -framework.aspx "يختلط =" نوفولو noreferrer "> هنا . الجواب القصير هو أن الناس طلبوا ذلك وقررت مايكروسوفت للذهاب معها. تناسبها مع نموذج صافي الحالي لإضافة العديد من ممكن من الخيارات، والسماح للإطار للوصول إلى السوق المستهدف أكبر، وأيضا توفير المطورين بالأدوات المناسبة لهذا المشروع الصحيح.

وMVC كما تنفذها ASP.NET MVC ليس نمط MVC القديمة. في ما اسميه "الكلاسيكية" MVC عرض له مباشرة، ولكن قراءة فقط، والوصول إلى نموذج، في ASP.NET MVC انها تعتبر النموذج السيئ للوصول إلى نموذج الأعمال التجارية الخاصة بك مباشرة من عرض. ما ينتهي بك الأمر مع شيء يشبه إلى حد كبير الإشراف على وحدة تحكم + السلبي عرض:

public class MvcExampleController : Controller
{
    public ActionResult ActionMethod(BoundInputData inputData)
    {
        var results   = DoActualWorkInTheModelWith(inputData);
        var viewModel = CreateViewModelFromThe(results);

        return View(viewModel);
    }
}

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

وأنا لن ندخل في ما إذا كان هذا هو "الحقيقي" تنفيذ MVC أم لا، ولكن إذا حجتك هي أن ASP.NET MVC لا تستخدم أنماط تصميم الويب الحديثة وقد نختلف.

وأفضل تخمين، سمع الجميع من MVC. وقد تعرض للضرب MVC في ك "أفضل الممارسات" لحظة تماما، وبالتالي جيل كامل (أو اثنين، أو ثلاثة) من المطورين نرى MVC والتفكير أفكار سعيدة.

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

وباختصار، أنا أشك كثيرا أن هناك سبب فني قوي لذلك.

ويمكنك لفة MVC الخاصة بك مع إطار ASP.NET الحالي ولا تزال تبقي على نموذج إعادة النشر.

http://www.codeproject.com/KB/aspnet/RollingYourOwnMVCwithASP.aspx

وهذا هو السؤال الكبير، والكثير من الناس قد سأل هذا السؤال في الأيام الأولى من MVC. هنا هو الجواب من فيل هاك أحد المطورين الرئيسيين في المشروع!

<وأ href = "http://haacked.com/archive/0001/01/01/everything-you-wanted-to-know-about-mvc-and-mvp-but.aspx" يختلط = "نوفولو noreferrer "> http://haacked.com/archive/0001/01/01/everything-you-wanted-to-know-about-mvc-and-mvp-but.aspx

والتحقق من ذلك، وقراءة الروابط والذهاب من هناك.

وبالإضافة إلى ذلك، جوابا على النقاش ربما S # تأهيل الزراعة العمارة. بنوا طبقة على رأس MVC لجعله يتصرف أشبه MVP. تحقق بها إذا كنت تبحث عن soemthing على طول تلك الخطوط.

وحظا سعيدا!

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

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

بالنسبة لمطور (.Net) ذو مهارات متوسطة، من الصعب حقًا ألا يشعر وكأنه ديناصور عندما يقوم مطور RoR متوسط ​​المهارة بإشعال النار ويحدث ارتفاعًا في أقل من 15 دقيقة مع وجود دليل عملي وجاري للمفهوم قبل مطور .Net حتى تم الانتهاء من بدء تشغيل vstudio.exe...;)

أعتقد أنها وجهة نظر مثيرة للجدل، لكنها وجهة نظري وسأدافع عنها حتى النهاية المريرة...;)

هناك أمثلة لا حصر لها اليوم على ذلك، نعم، سوف تمنحك MVC والسقالات زيادة أولية في السرعة، نعم.ولكن بالنسبة لقابلية الصيانة، وإعادة استخدام التعليمات البرمجية، والتغليف، وفي الغالب كل شيء حقًا الشيء المهم - MVC ليس "الحل السحري" وفي معظم الأوقات تكون WebForms متفوقة بكثير على المدى الطويل (ما لم يتم استخدامها مثل ورق التواليت بالطبع)

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