سؤال

لقد بدأت للتو اللعب مع تطوير أدوات خاصة بالمجال، وأنا ألعب مع أدوات Visual Studio SDK DSL. ومع ذلك، سمعت أن Microsoft لديها مبادرة أخرى أخرى في تطوير المجال الخاص المسمى "أوسلو".

انطباعي هو أن أدوات DSL تركز على اللغات الرسومية الخاصة بالمجال، في حين يركز أوسلو على واحد نصي، لكنني لست متأكدا من ذلك.

قد يشير شخص ما إلى ما هي الاختلافات بين "أدوات DSL" و "أوسلو"؟

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

المحلول

الاختلافات الرئيسية هي الرؤية والقسمة.

الرؤية, ، نظرا لأن أدوات DSL تركز في بناء بيئات التنمية الخاصة بالمجال التي تعمل داخل Visual Studio أو Shell Visual Studio، في حين أن OSLO تريد تمكين برمجة بيانات أسهل وكمنتج جانبي يوفر أيضا أدوات لبناء DSLs التي تساعدك على تحديد بياناتك في النفس لغات دقيقة.

تقسيم, ، لأن الاستثماراتين مصنوعة في أقسام مختلفة، وبالتالي فرق مختلفة تماما. نأمل، كما يقولون، تتحدث الفرق مع بعضنا البعض، لكن لا أحد يعرف حقا.

بالنسبة للمستقبل، من المحتمل أن توفر أوسلو (في غضون أسبوعين لم يعد يسمى أوسلو) البنية التحتية لأدوات DSL (MetaModel، قاعدة البيانات، لغة الاستعلام). على الأقل يمكننا أن نتوقع بعض التكامل بين الاثنين.

نصائح أخرى

أوسلو و DSL Toolkit

أدوات DSL وأوسلو

تلك المشاركات MSDN مدونات الإجابة على هذا السؤال.

أنت على حق. يتم استخدام مجموعة أدوات DSL لإنشاء مصمم DSL رسومية. يمكن بعد ذلك تشغيل هذا المصمم داخل Visual Studio (أو داخل برنامج المضيف الخاص بك) لإنشاء مثيلات لطراز DSL. في سياق Visual Studio، يمكن بعد ذلك استخدام هذه الحالات لإنشاء التعليمات البرمجية أو غيرها من القطع الأثرية القائمة على النصوص، باستخدام محرك T4 Text Templating المضمن في Visual Studio.

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

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