سؤال

في مشروع سقالات التطبيقات الذي أعمل عليه، أحاول أن أقرر ما إذا كنت سأستخدمه أم لا أوسلو, T4 أو CodeDom لتوليد التعليمات البرمجية.تتمثل أهدافنا في تقليل التبعيات إلى الحد الأدنى وتحفيز إنشاء التعليمات البرمجية لتصميم يستند إلى المجال من قصص المستخدمين.ستكون الخطوة الأولى هي إنشاء الاختبارات من قصص المستخدمين، ولكننا نريد أن يتمكن خبراء المجال من كتابة قصصهم في مجموعة متنوعة من الوسائط المختلفة (على سبيل المثال.تطبيق مخصص، Word، وما إلى ذلك) وما زال يُنشئ الاختبارات من القصص.

ما أعرفه حتى الآن:

  1. يتطلب CodeDom .NET ولكن يمكنه فقط إخراج ملفات فئة .NET (على سبيل المثال..CS، .vb).مستوى الصعوبة مرتفع إلى حد ما.
  2. يتطلب T4 CodeDom وVS Standard+.مستوى الصعوبة معقول إلى حد ما، خاصة مع صندوق الأدوات T4.
  3. أوسلو جديدة جداً.ليس لدي أي فكرة عن التبعيات، ولكن أعتقد أنك يجب أن تستخدم على الأقل .NET 3.5.لست متأكدًا أيضًا من قدرات إنشاء التعليمات البرمجية أو مدى تعقيد إضافة قواعد نحوية جديدة.ومع ذلك، من المحتمل أن يتمكن خبراء المجال من كتابة قصص المستخدمين في Intellipad بسهولة تامة.لست متأكدًا أيضًا من سهولة تحويل القصص في Word إلى MGrammar.

ما هي أفكارك وتجاربك وما إلى ذلك؟مع أي من الأدوات المذكورة أعلاه.نريد الاستمرار في استخدام Microsoft أو الأدوات مفتوحة المصدر.

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

المحلول

اذهب مع T4 - قرار سهل.

  • إن أوسلو جديدة للغاية وأدواتها أولية للغاية بحيث لا يمكن اعتبارها أكثر من مجرد تكنولوجيا للتقييم فقط
  • يعد CodeDOM قويًا، إذا كنت بحاجة إلى إنشاء فئات CLR في وقت التشغيل، وكنت على استعداد للتضحية بالتعديل السهل على المخرجات التي تم إنشاؤها.
  • T4 (مع مجموعة أدوات T4) هي أداة سهلة الاستخدام لإنشاء التعليمات البرمجية للأغراض العامة.الصعوبة الوحيدة التي واجهتها حتى الآن هي عمليات التكامل في وقت البناء.

نصائح أخرى

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

سوف تحتاج إلى تحديد بعض اللغات الرسمية لقصص المستخدمين، سواء كانت لغة XML أو لغة مجال أوسلو.تتطلب أوسلو من خبراء المجال الخاص بك تعلم أدوات أوسلو.يمكنك استخدام Word + XML.ثم تقوم بتحديد قالب جميل المظهر في Word، مع مخطط XML مضمن وبعد كتابة القصة، يمكنك الحصول عليه من Word في بناء جملة XML رسمي. يمكن بالطبع استخدام XML هذا لتشغيل المولدات، عبر XSLT أو Linq.

CodeDOM قوي، ولكنه مرهق إلى حد ما.إنه IMHO ليس حلاً سهل الاستخدام ولا يحتوي على دعم حقيقي للقالب.

ليس لدي أي خبرة مع T4، ولكن ميزاته النموذجية هي ميزات مسبقة.

إن منتج أوسلو جديد تمامًا بالفعل، ويتطلب .Net 4.0، وبيئة تشغيل.لا يزال مجرد برنامج CTP.إنها بيئة قوية جدًا، على الرغم من أن لدي بعض الشكوك حول قصة إنشاء قاعدة البيانات.

أتمنى أن يساعدك هذا.

حسناً، أوسلو لا تناسب القائمة.ليس لديها قصة إنشاء التعليمات البرمجية حتى الآن.لذا التزم بـ T4.

ليس لدى أوسلو النية لإنشاء تعليمات برمجية لك.سيتعين عليك إنشاء وقت تشغيل (برنامج C# على سبيل المثال) يغير سلوكه اعتمادًا على البيانات.يمكنك رؤيته كمتصفح إنترنت.

لا أعتقد أن أوسلو تتطلب .Net 4.0، كما ذكر رين.أثناء فترة تدريبي في Avanade Netherland، أقوم بإنشاء Oslo MSchema وMGgrammars ووقت تشغيل C#3.5.اعتمادًا على البيانات المقدمة، سيتم إنشاء (وليس إنشاء) خدمات WCF وتشغيلها.

هناك بعض التطبيقات المثيرة للاهتمام لأوسلو

  • نظام "LDAP الجديد".Identity، والمزيد في فيديو جلسة PDC http://microsoftpdc.com/Sessions/SVC28
  • System.Modelling (على ما أظن) Microsoft.UML2 حيث يمكنك دفع معلومات حول الأساليب والفئات والوحدات النمطية وما إلى ذلك.في المستودع وتحليله وإنشاء التقارير.على سبيل المثال، قم بإنشاء تقرير بالطرق المضافة/المحذوفة بين نسختين http://microsoftpdc.com/Sessions/SVR19
  • وبالطبع النمذجة
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top