حيث تضع الأجزاء المشتركة عند استخدام بنية البصل؟

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

سؤال

أحاول تطبيق بنية البصل من قبل J. باليرمو، لكن لدي بعض الأشياء التي تكافح بها.

لدي أجزاء قليلة ولا أعرف بالضبط أين أضع هذه.

  • لدي محرك إضافي يقرأ الدليل وتحديد الأشياء التي يجب تحميلها en للقيام
  • لديها بعض ملفات الموارد مع الترجمات التي تستخدم في العديد من المشاريع.أين يجب أن أضع هذه الملفات؟
  • لدي بعض السمات التي يتم استخدامها في جميع أنحاء النظام.أين تضع هذه؟
  • لدي أيضا وحدات تحكم اثنين من "قاعدة"، وبعض النتائج الافتراضية والآراء.أين يجب أن أضع هذه؟

    تستخدم كل هذه العناصر في العديد من المشاريع، لذلك أريد أن أضع العناصر في نقطة مركزية.

    هيكل الحل الحالي لي مثل هذا:

    • project.core (يحتوي على كائنات المجال واجهات المستودعات)
    • project.infrasicure (هو تنفيذ الأساس)

      أنا أستخدم MVC2.

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

المحلول

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

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

سوف تصبح هذه العناصر مستقلة، مخزنة في نقطة مركزية (SLN جديد) وسوف يكون لها دورة الإفراج الخاصة بها!

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