عن المشروع
VContainer هي مكتبة حقن تبعيات (DI) عالية الأداء مصممة خصيصًا لمحرك ألعاب Unity. تركز على السرعة، وتقليل تخصيص الذاكرة، وصغر حجم الكود، مما يجعلها بديلًا فعالًا لأطر DI الأخرى مثل Zenject.
تشمل الميزات الرئيسية:
- **حل سريع:** عادةً ما يكون أسرع من Zenject بمعدل 5-10 مرات.
- **صفر تخصيص لجمع القمامة:** حل المثيلات لا يسبب عبء جمع القمامة (باستثناء المثيلات المنشأة).
- **صغر حجم الكود:** أنواع داخلية قليلة واستدعاءات افتراضية ضئيلة.
- **ممارسات DI صحيحة:** واجهة برمجة بسيطة وشفافة مع ميزات مختارة بعناية لتجنب التعقيد.
- **حاوية غير قابلة للتغيير:** تضمن سلامة الخيوط والمتانة.
أنواع الحقن المدعومة: حقن المُنشئ، والطريقة، والخاصية، والحقل. كما توفر نطاقات مرنة مع نطاقات عمر متداخلة، ودعمًا غير متزامن، وتكاملًا مع UniTask وECS (نسخة تجريبية).
التثبيت متاح عبر UPM (رابط Git)، أو OpenUPM، أو حزمة .unitypackage يدويًا. تتطلب المكتبة Unity 2018.4 أو أحدث.
الاستخدام الأساسي يتضمن إنشاء LifetimeScope وتسجيل الخدمات، ثم حلها تلقائيًا. تدعم المكتبة الربط بالمفاتيح، ونقاط الدخول (IStartable، IAsyncStartable)، وإنشاء نطاقات فرعية ديناميكية لتحميل الموارد غير المتزامن.
نافذة التشخيص في محرر Unity تساعد في تصور وتصحيح أخطاء تسجيلات الحاوية والتبعيات.
VContainer مستوحاة من Zenject وAutofac وMicroResolver، وتصدر تحت رخصة MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.