CodeShot
Midسختی 3 از ۵· در 68٪ مصاحبه‌های این حوزه پرسیده شده

Dependency Inversion Principle چه رابطه‌ای با Dependency Injection دارد؟

نشان کردن

پاسخ کوتاه

Dependency Inversion یک اصل طراحی است (وابستگی به Abstraction، نه پیاده‌سازی مشخص)؛ Dependency Injection یکی از تکنیک‌های رایج برای پیاده‌سازی همان اصل است.

پاسخ کامل

طبق Dependency Inversion Principle، هم ماژول‌های سطح بالا و هم سطح پایین باید به یک Interface مشترک وابسته باشند. Dependency Injection این وابستگی به Interface را در عمل با تزریق پیاده‌سازی از بیرون (معمولاً از طریق سازنده) پیاده می‌کند.