دَگرچیست؟   ?what is dagger

دَگرچیست؟ ?what is dagger



دَگر یک فریمورک می باشد که برای تزریق وابستگی در اندرودی مورد استفاده قرار می گیرد دَگر در حال حاضر توسط گوگل پشتیبانی می شود و معنی لغوی آن خنجر می باشد.

اصلا تزریق وابستگی چی هست؟
در جاوا زمانی که ما بخواهیم از یک متد از یک کلاس استفاده کنیم باید یک نمونه از آن کلاس را ایجاد کرده باشیم تا بتوانیم از آن متد کلاس استفاده نماییم این وابستگی را ایجاد می کند یعنی کلاسی که در آن هستیم وابسته می شود به کلاسی که میخواهیم از متد آن استفاده نماییم، بنابراین انتقال وظیفه(Task) ساخت کلاس به یک نمونه از آن کلاس و استفاده مستقیم از وابستگی ایجاد شده به کلاس مورد استفاده را"تزریق وابستگی" می گویند.

به شکل ساده تر "تزریق وابستگی یعنی دادن یک شی به متغیرهای نمونه ای از آن است."

چرا باید تزریق وابستگی استفاده کنیم؟

بیاید با هم تصور کنیم که یک کلاس ماشین داریم که میتونه چرخ، موتور و... بعنوان یک شی از اون کلاس باشه.
اینجا کلاس ماشین مسئول ایجاد تمامی وابستگی شی ها می باشد. حالا چی می شود اگر بخواهیم از چرخ دیگر برای ماشین استفاده کنیم یک چرخ دیگر با رنگ متفاوت؟
ما احتیاج داریم تا یک نمونه دیگر از کلاس قبلی ایجاد کنیم با همان چرخ قبلی.اینجاست که تزریق وابستگی مورد استفاده قرار می گیرد، میتوانیم چرخ را در زمان اجرا تغییر دهیم به جای آنکه در زمان کمپایل تغییر دهیم. بنابراین با استفاده از این میتوانیم کاری کنیم که کلاس ماشین مستقل از ساخت شی مثل چرخ بشه.