راکت
حل شده

فرق Dependency Injection و Dependency Inversion

1 پاسخ

کسی مفهوم و فرق بین Dependency Injection و Dependency Inversion و Inversion Of Control رو میدونه؟

@hesammousavi
@ali.bayat
@Alimotreb

ثبت پرسش جدید

پاسخ‌ها

1
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

بهترین پاسخ

Dependency Injection یکی از تکنیکهای Inversion Of Control هست برای تهیه آبجکتها (همون وابستگی ها) برای یک کلاس که از طریق یکی از ۳ روش زیر انجام میشه:

  • constructor
  • public property
  • setter method

اما Dependency Inversion Principle یا DIP قانونی هست که میگه: ماژول‌های سطح بالا هرگز نباید به ماژول‌های سطح پایین وابسته باشند. بلکه باید به انتزاع (Abstraction) وابسته باشند.
تبعیت از این قانون در توسعهٔ نرم‌افزار به صورت شئ‌گرا این امکان را در اختیار ما قرار می‌دهد تا بخش‌های مختلف نرم‌افزار‌مان مستقل باشند.

مفهوم Dependency Inversion نباید با Dependency Injection اشتباه گرفته شوند. چون ۲ موضوع متفاوتند.

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام