سلام دوستان
فرق DI و DIP و IOC چیه؟
سلام خدا و ما بر شما دوستان
1- Dependency Inversion Principle یا DIP :
یعنی آنکه شما همواره باید قیود خود را روی اینترفیس پیاده کنید و حق پیاده سازی آن را در سطوح پایین تر ارجاع دهید. بعبارت دیگر وقتی کلاسی از شما به کلاسی دیگر وابستگی داشته باشد خیلی بد است چون اینترفیس آن قابل پیاد سازی مجزا نمی باشد.
2- DI یا Dependency Injection:
به این معنی که موجودات شما باید مستقل از یکدیگر باشند و در هنگام پیاده سازیباید وابستگی بین آنها تزریق شود. یعنی در سطح DIP شما باید انتزاع قطعی را در نظر بگیری بدون هیچ وابستگی و در سطح DI این وابستگی را تزریق کنی
3- IoC یا Inversion of Control:
اینجا معمولا تفاوت بین کتابخانه و فریم ورک تعریف می شود. یعنی آنچه که باعث می شود DI پیاده سازی شود. مثلا نینجکت!! یک فریم ورک است که وظیقه اش اقدمات DI را انجام می دهد اما خودش یک IoC است!
ضمیمه را ببین
https://stackoverflow.com/questions/6766056/dip-vs-di-vs-ioc
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)