مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

salman_b

عضویت از 1396/02/18

مزایا و معایب تزریق وابستگی

  • شنبه 19 خرداد 1397
  • 13:44
تشکر میکنم

با سلام

مقاله های فارسی ای که وجود داره درباره ی مزایای تزریق وابستگی بحث های زیادی شده

اما از معایب آن مطلبی ندیدم!

آیا تزریق وابستگی باعث کاهش سرعت یا افزایش نیاز به منابعی مانند ram می شود ؟

آیا سند کردن کدها رو سخت می کند ؟

آیا  باعث پیچیدگی کد شده و فهم کد را برای دیگران سخت میکند؟

چون بالاخره اینکه بیایم قسمت هایی که باعث وابستگی بین قسمت های مختلف یک برنامه میشه رو جدا کنیم و با تزریق به سازنده کلاس از طریق مثلا ninject وابستگی رو از بین ببریم و برنامه رو منعطف کنیم باید معایبی هم داشته باشه دیگه! لایه لایه کردن برنامه رو کند نمیکنه ؟

چون فکر کنم یه جا خونده بودم کند بودن .net standard بدلیل لایه ای بودنشه و همین باعث افت سرعت اون به نسبت فریم ورک های سرور جاوا میشه.

با تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • شنبه 19 خرداد 1397
  • 15:13

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

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)