فرق Dependency Injection و Dependency Inversion

7 روز پیش
توسط Javad Ezaz آپدیت شد
Javad Ezaz ( 11770 تجربه )
1 هفته پیش
تخصص : برنامه نویس php و لاراول

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

@hesammousavi
@ali.bayat
@Alimotreb

بهترین پاسخ انتخاب شده توسط Javad Ezaz
علی بیات
1 هفته پیش

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

  • constructor
  • public property
  • setter method

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

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

علی بیات ( 266777 تجربه )
1 هفته پیش
تخصص : توسعه دهنده ارشد وب

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

  • constructor
  • public property
  • setter method

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

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

برای ارسال پاسخ باید وارد سایت شوید