بررسی طول عمر سرویس ها در تزریق وابستگی در Asp Core

طول عمر سرویس ها در تزریق وابستگی
طول عمر سرویس ها در تزریق وابستگی

تزریق وابستگی یا Dependency injection چیست؟

تزریق وابستگی (DI) الگویی است که می تواند به توسعه دهندگان کمک کند تا بخش های مختلف برنامه های خود را جدا کنند. هنگامی که یک سیستم برای استفاده از DI طراحی شده است، و بسیاری از کلاس‌ها وابستگی‌های خود را از طریق سازنده (یا ویژگی‌هایشان) درخواست می‌کنند، مفید است که کلاسی برای ایجاد این کلاس‌ها با وابستگی‌های مرتبط با آنها اختصاص داده شود. به این کلاس ها کانتینرها یا به طور خاص کانتینرهای وارونگی کنترل (IoC) یا ظروف تزریق وابستگی (DI) گفته می شود. کانتینر اساساً کارخانه ای است که مسئول ارائه نمونه هایی از انواع درخواستی از آن است.

تزریق وابستگی(Dependency injection) در .Net Core

Microsoft .NET Core شامل یک کانتینر داخلی ساده  است (توسط اینترفیس IServiceProvider ارائه  شده است) که از تزریق سازنده پشتیبانی می کند. فضای نام که تحت آن گنجانده شده است Microsoft.Extensions.DependencyInjection است.

طول عمر وابستگی

در زمان ثبت سرویس، وابستگی ها نیاز به تعریف طول عمر دارند. طول عمر سرویس، شرایطی را که تحت آن یک نمونه جدید از سرویس ایجاد می شود را مشخص می کند. در زیر طول عمر تعریف شده توسط چارچوب .NET Core DI آمده اس

تزریق وابستگی Transient یا گذرا

تزریق وابستگی Scoped یا محدوده شده

تزریق وابستگی Singleton یا یگانه

برای بررسی طول عمر سرویس ها به صورت عملی می توانید ویدیوی آموزش بررسی LifeTime یا طول عمر سرویس ها در تزریق وابستگی را از طریق سایت آموزش برنامه نویسی و طراحی وب کدسل مشاهده نمایید.

دریافت سورس پروژه بررسی Service Lifetime  تزریق وابستگی در Asp core