موضوع

موضوع Generic Host / تصميم التطبيقات

صفحة موضوع في تصميم تطبيقات .NET تتيح تتبّع Generic Host وBackgroundService وDI والإعدادات والسجلات وتصميم بدء التشغيل والإيقاف معًا.

ما الذي يرتّبه هذا الموضوع

حين ينمو تطبيق .NET قليلًا، تتبعثر شيفرة البدء في Main وProgram.cs وتهيئة النماذج والمعالجة المقيمة وقراءة الإعدادات وتهيئة السجلات. هذا الموضوع محطة جامعة لتتبّع كيفية تصميم بدء التطبيق كله وإيقافه بوصفها مسألة واحدة متصلة، مع جعل Generic Host محورًا لها.

  • أين نربط DI والإعدادات والسجلات
  • من يتولّى عمر BackgroundService والمعالجة المقيمة
  • كيف نتعامل مع graceful shutdown وعملية flush عند الإيقاف
  • كيف نرتّب المعالجة الواقعة خارج الواجهة

نقاط تتكرر كثيرًا في الاستشارات

  • حلقات Task.Run ومنطق المؤقّتات منبثقة في أماكن متفرقة، ومسؤولية الإيقاف غير واضحة
  • التردّد في مدى التوسّع في استخدام Host.CreateApplicationBuilder وBackgroundService
  • الرغبة في توحيد الأساس بين أدوات الطرفية وتطبيقات worker وتطبيقات سطح المكتب
  • إضافة ربط الإعدادات والسجلات وDI لاحقًا قطعةً قطعة أمر مرهق

الأسلوب الأنسب

لا يتّضح Generic Host بحفظ أسماء الواجهات البرمجية وحدها، ويسهل ترتيبه عندما ننظر إلى البدء ودورة الحياة وتقسيم المسؤوليات معًا. وبالانطلاق من المقالات الثلاثة ذات الصلة وقراءتها مع صفحتَي تطوير تطبيقات ويندوز ومراجعة التصميم، تتضح حدود إدخال host في التطبيق.

اطلب استشارة

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

العودة إلى الرئيسية