هل تتواجد المنشطات OSGI Eclipse من بعضهم البعض فكرة جيدة؟

StackOverflow https://stackoverflow.com/questions/1301179

سؤال

إذا كان لديك نظام أساسي كود الكسوف / OSGI مشترك تقوم بإنشاء منتجات مختلفة، فهل يجب عليك أن ترث المنشطات من التعليمات البرمجية الشائعة

على سبيل المثال

org.test.common.pluginactivator.
org.test.common.ui.uipluginactivator.

org.test.product1.product1pluginactivator.
org.test.product1.ui.product1uipluginactivator.

org.test.product2.product2pluginactivator.
org.test.product2.ui.product2pluginactivator.

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

هل لدى أي شخص أي أفكار / آراء حول هذا؟

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

المحلول

إذا كان الطفل لا يستطيع تشغيله بدون حزمة الوالدين على أي حال (أي فإنه يحتوي على تبعية وظيفية عليه)، فأنت لا تضيف أي اقتران إضافي عن طريق ترث المنشط منه.

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

نصائح أخرى

أفترض أنك تقوم بعمل RCP Eclipse لأنه أوصي بأن أوصى الربيع DM (أو iPojo، Google Cuice مع PeaBerry، أو خدمات إعلانية، ...). وبهذه الطريقة لن تحتاج أبدا إلى كتابة منشط آخر حزمة مرة أخرى.

من ناحية أخرى، ذهب فريقي مع مجردة مشتركة BundleActivator للحزم المتعلقة بنظام إدارة الجودة. بالنسبة لي، فإن وجود منشط الحزمة الفعلي في حزمة (حزم) مركزية يزيد اقتران.

لن أفعل ذلك، سأعتبر فعلا أن إساءة استخدام الفئة الفرعية بشكل عام (بدلا من وجهة نظر OSGI).

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

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