سؤال

أعرف مجموعة من الأشخاص الذين يستمتعون حقًا بالتحسينات التي قام بها ASP.NET MVC 2 على الإصدار الأول. لقد بدأت للتو في ترحيل مشروع MVC 1 ، وحتى الآن ، قامت المناطق بتنظيف فوضى المجلد الفرعي تمامًا في تطبيقنا على نطاق واسع. بينما أغوص أعمق في جميع التحسينات والتغييرات التي تم إجراؤها ، ما زلت أفكر لنفسي ، سيكون من الرائع أن يكون لديهم X في هذا الإصدار. على سبيل المثال ، أحب ذلك إذا كان لديهم نوع من حقن التبعية المدمجة بدلاً من الاضطرار إلى استخدام حلول الطرف الثالث.

سؤالي الحقيقي هو الآن أن ASP.NET MVC 2 في البرية ، ما هي الميزات التي تريدها/أتمنى أن ينفذ الفريق وآمل أن ينفذوا لـ ASP.NET MVC 3؟

تعديل

يبدو أن حقن التبعية مدمج في أول إصدار معاينة من ASP.NET MVC 3! أنا أحب الميزات المضافة حتى الآن. ASP.NET 3 معاينة واحد خارج!

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

المحلول

أعتقد أن MVC 3 لن تكون مثيرة للغاية مع تحسيناتها ، ولكنها أكثر ثباتًا وتدريجية.

ال ASP.NET MVC 3 خريطة طريق لديه لقطة لما يبحث عنه الفريق على ما يبدو في التنفيذ في الإصدار التالي وبعض النقاط مثيرة للاهتمام للغاية.

أعتقد أن المفضلة من تلك القائمة ستكون على الأرجح:

  • المزيد من مساعدي Ajax: سيؤدي هذا إلى تحقيق الإطار بشكل أكبر مع عالم الويب الذي يحتوي على كل هؤلاء المساعدين بالفعل وإلى حد ما ، بمثابة عائق أمام بعض الأشخاص الذين يتناولون المنصة.
  • المزيد من الأشياء الحقن التبعية - بالنسبة لأولئك الذين يريدون ذلك ، هذا رائع. قون
  • تحسين دعم التخزين المؤقت هو الفوز الكبير بالنسبة لي. سيكون ذلك المبني بشكل صحيح في الإطار فائدة كبيرة وقد يؤدي إلى بعض المدخرات اللطيفة في الأداء.
  • لا تتفاقم التحقق الإضافي أيضًا. على الرغم من أن المنشأة رائعة لإضافتها ، إلا أن مكتبة جيدة من المكتبة الشائعة ، مثل البريد الإلكتروني و PropertiSmustMatch وما إلى ذلك.

نصائح أخرى

أود الإزالة الكاملة ل الكل السلاسل السحرية.

أتمنى حقًا أن يضيفوا ما يلي:

  1. الشرطية على غرار الشرارة والحلقات باستخدام سمات علامة HTML.
  2. تحديث: خاصية المشروع المرئية لتبديل التحقق من صحة وقت الترجمة.
  3. شيء للتحقق/التحقق من صحة أن طرقاتي صحيحة.
  4. حل مزود العضوية الذي يستخدم INT بدلاً من GUID لتحديد الهوية ويسمح تعيين حقول الملف الشخصي إلى جدول مخصص بدلاً من الافتراضي العام ولكن البطيء.
  5. مساعدون مقرون في Lambda لتجنب الأوتار السحرية (حاليًا في MVCFUtures)
  6. قالب T4MVC للمساعدين المكتوبة بقوة
  7. معالجات المشروع أو القوالب للحصول على قالب يتم إعداده بالفعل لصالح اللجنة الأولمبية الدولية ومخاوف مماثلة ، ويفضل أن يكون ذلك مع مربع حوار اختيار لاختيار إطار العمل الذي يجب استخدامه في IOC ، واختبار الوحدة ، إلخ.
  8. سمات إضافية (كل من المرشحات والتحقق).

هممم ، هذا كل ما يمكنني التفكير فيه الآن :)

ستكون الأدوات (قوالب T4) لإنشاء كائنات MOQ لاختبار الوحدة رائعة للغاية. اختبار بعض الأشياء في الإطار أمر معقد بشكل غير ضروري ، ولديه القدرة على ترميز بعض هذا سيكون مفيدًا للغاية.

أود:

الأدوات

  • طريقة عرض قائمة بديلة باستخدام Ajax على سبيل المثال ، باستخدام JQGrid (تنفيذ الفرز ، ترقيم الصفحات ، البحث)
  • تحسينات على صفحات Crud اكتشف علاقات الكيانات لفئات إطار الكيان ، واستخدام مجموعة أخرى من المكونات القائمة في الحقول على سبيل المثال كما تفعل البيانات الديناميكية :)

نظرًا لأن ASP.NET MVC 3 سيكون .NET 4 فقط ، أود أن أرى بعض الأشياء حول وحدات التحكم غير المتزامنة وجميع وظائف Async/Multithreading الجديدة الأخرى التي يجلبها .NET 4.

أود أن أرى دعمًا مدمجًا لأشياء مثل IronRuby

سيكون دعم MEF لطيفًا.

أرغب في رؤية طريقة جديدة للتعامل مع التوجيه ، لتسهيل خدمات REST. حاليا لدي طرق مثل هذه:

context.MapRoute(null,
                 "api/posts",
                 new { controller = "Post", action = "Get" },
                 new { httpConstraint = new HttpMethodConstraint("GET") });


context.MapRoute(null,
                 "api/posts",
                 new { controller = "Post", action = "Insert" },
                 new { httpConstraint = new HttpMethodConstraint("POST") });


context.MapRoute(null,
                 "api/posts/{id}",
                 new { controller = "Post", action = "Update" },
                 new { httpConstraint = new HttpMethodConstraint("PUT") });


context.MapRoute(null,
                 "api/posts/{id}",
                 new { controller = "Post", action = "Delete" },
                 new { httpConstraint = new HttpMethodConstraint("DELETE") });

إلى شخص جديد يستخدم ASP.NET MVC ، من غير بديهي للغاية إنشاء كائنات مجهولة للتعامل مع التوجيه. أود أن أراها منقحة إلى شيء من هذا القبيل (وبما أننا نستخدم C# 4.0):

context.MapRoute("api/posts",
                 controller: "Post",
                 action: "Get",
                 httpMethodConstraint: HttpMethodConstraint.GET
                );

context.MapRoute("api/posts",
                 controller: "Post",
                 action: "Insert",
                 httpMethodConstraint: HttpMethodConstraint.POST
                );

context.MapRoute("api/posts/{id}",
                 controller: "Post",
                 action: "Update",
                 httpMethodConstraint: HttpMethodConstraint.PUT
                );

context.MapRoute("api/posts/{id}",
                 controller: "Post",
                 action: "Delete",
                 httpMethodConstraint: HttpMethodConstraint.DELETE
                );

هذا من شأنه أن يجعلها أكثر قابلية للاكتشاف كذلك.

أود المساعدين الذين يعانون من مشاهدات الفهرس تلقائيًا. ربما شيء مثل IndexDisplay(), IndexDisplayFor(), ، و IndexDisplayForModel().

أرغب في التقدير إلى فصول الأصدقاء ذات الولادة التلقائية على أي نموذج معين.

أستخدم أيضًا ميزة البساطة مثل معظم الأشياء بدون المساعد مثل HTML-Helper أنا شيء أن التطور في ASP.NET MVC 3 هو أفضل طريقة لتعلم MVC 3 في المستقبل.

إن الأمرين اللذين أرغب في رؤيته أكثر من حقن التبعية المباشرة في وجهات النظر ، والمرشحات ، وما إلى ذلك ، و (أعرف أن هذا يفترض أنه في الطريق مع محرك عرض الحلاقة) هو أن أكون قادرًا على اختبار آرائي بمعزل عن خط أنابيب ASP.NET (ربما بما في ذلك التحقق من صحة Doctype و/أو نوع من تجميع/التحقق من صحة JavaScript).

فيما يلي بعض الأفكار الأخرى:

  • سيكون من الجيد أن تكون قادرًا على تشغيل مكون واجهة المستخدم (طرق العرض ، والقوالب ، ونماذج العرض ، وما إلى ذلك) لإعادة الاستخدام عبر مشاريع متعددة. أظن أن هذا ممكن حاليًا بطريقة أو بأخرى ، لكنني لا أحتاجه بشكل سيء بما يكفي لمعرفة ذلك بنفسي.
  • فكرة الإجراءات التي لا تحكم يثير اهتمامي ، وخاصة من وجهة نظر SRP.
  • دعم أفضل لنمط ما بعد REDIRECT-GET (P/R/G) ... يبدو أنه يجب أن يكون هناك دعم جوهري لهذا النمط المهم للغاية.

سيكون المزيد من الضوابط والمساعدين لطيفة حقًا ، خاصة شبكة (Ajax).

تم الإعلان عن ASP.NET MVC 3 Preview 1 أيضًا في http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspx

أرغب في رؤية دعم تجميع المناطق (أعني العديد من التجميعات ذات المناطق المختلفة) + التحميل الديناميكي ، شيء مثل الإضافات.

تحرير: ولدينا معاينة 1 اليوم: http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspx

أي شخص سعيد؟ :>

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