إطار مدار قابل للتوسيع

اطار مُدار قابل للتوسيع Managed Extensibility Framework (MEF) هو أحد مكونات اطار دوت نت 4.0 تهدف إلى إنشاء تطبيقات خفيفة الوزن وقابلة للتوسيع. ويهدف إلى السماح. مطورو تطبيقات دوت نت لاكتشاف واستخدام الامتدادات دون الحاجة إلى التكوين. كما تهدف إلى السماح لمطوري الامتدادات بتغليف الكود بسهولة وتجنب التبعيات الصلبة الهشة (fragile hard). علاوة على ذلك ، يهدف إلى السماح بإعادة استخدام الملحقات عبر التطبيقات. تم تقديم MEF كجزء من دوت نت 4.0 و سلفرلايت 4.0 .

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

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

التصميم 
تقريبا ، يتكون جوهر MEF من كتالوج و حاوية مركبة CompositionContainer. الفهرس مسؤول عن اكتشاف الامتدادات وتنسق الحاوية الإنشاء وترضي التبعيات.

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

المراجع

روابط خارجية 

 
 نظرة عامة على إطار التوسعة المدارة
 إنشاء تطبيقات قابلة للتكوين في. NET 4 مع إطار التوسعة المُدار
 مقدمة لطيفة عن MEF - الجزء الأول

برمجيات 2010
برمجيات تستخدم رخصة إم أي تي
برمجيات حرة ومفتوحة المصدر