با سلام
مقاله های فارسی ای که وجود داره درباره ی مزایای تزریق وابستگی بحث های زیادی شده
اما از معایب آن مطلبی ندیدم!
آیا تزریق وابستگی باعث کاهش سرعت یا افزایش نیاز به منابعی مانند ram می شود ؟
آیا سند کردن کدها رو سخت می کند ؟
آیا باعث پیچیدگی کد شده و فهم کد را برای دیگران سخت میکند؟
چون بالاخره اینکه بیایم قسمت هایی که باعث وابستگی بین قسمت های مختلف یک برنامه میشه رو جدا کنیم و با تزریق به سازنده کلاس از طریق مثلا ninject وابستگی رو از بین ببریم و برنامه رو منعطف کنیم باید معایبی هم داشته باشه دیگه! لایه لایه کردن برنامه رو کند نمیکنه ؟
چون فکر کنم یه جا خونده بودم کند بودن .net standard بدلیل لایه ای بودنشه و همین باعث افت سرعت اون به نسبت فریم ورک های سرور جاوا میشه.
با تشکر
تا الان در چندین پروژه از DI استفاده کردم ، مقاله های زیادی راجبش خوندم اما چیزی راجب کاهش کارایی به گوشم نخورده. DI برای کاهش وابستگی بین اجزای پروژه است با کم کردن وابستگی ها شما پروژه خودتون رو توسعه پذیر و تست پذیر می کنید نتیجه اصلی استفاده از DI این مواردی بود که اشاره کردم و این موراد باعث میشه سیستم شما پیدارتر بشه و هنگام تغییر و توسعه به مشکل نخورید. در بعضی از مواقع استفاده نا صحیح از فریم ها Ioc باعث کاهش کارایی برنامه میشه و درکل نگران کاهش کارایی برنامه با استفاده از DI نباشید. کارایی برنامه به فاکتور های زیادی وابسته هست شما با رعایت کردن آن موارد می تونید اون رو بهبود ببخشید. استفاده از DI در پروژه یه مورد ضروری است. ASP.NET Core به صورت توکار از DI پشتیبانی می کند و آن را در سیستم خود پیاده سازی کرده. ASP.NET Core یکی از High Performance ترین وب فریم ورک های حال حاظر است پس این مسئله ربطی به عملکر ندارد.
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)