Javad Ezaz
4 سال پیش توسط Javad Ezaz مطرح شد
1 پاسخ

فرق Dependency Injection و Dependency Inversion

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

@hesammousavi
@ali.bayat
@Alimotreb


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
1

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

  • constructor
  • public property
  • setter method

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

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


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

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