چرا باید از dagger 2 استفاده بشه ؟
سلام . من چند روزه قصد دارم از کتابخانه dagger 2 استفاده کنم برای پروژم دلیل اینکه میخام استفاده کنم این هست که در بسیاری از مباحث پیشرفته آموزشش رو دیدم ولی اصلا درک نمیکنم چرا باید از این کتابخانه استفاده بشه ؟
دقیقا چی رو حل میکنه چه مشکل رو رفع میکنه چه قابلیتی به ما میده ؟
سلام
شما فرض کنید کلاسی دارید که از کلاس دیگر در اون کلاس استفاده میکنید مثل
class MyClassA {
MyClassA() {}
public void show() {}
}
class MyClassB {
MyClassB() {
MyClassA a = new MyClassA();
a.show();
}
}
اگر مثال بالا رو ببینید از کلاس A تو کلاس B استفاده شده است. در این حالت شما وابستگی شدید به کلاس A دارید! مثال دیگر
class MyClassA {
MyClassA() {}
public void show() {}
}
class MyClassB {
MyClassB(MyClassA a) {
a.show();
}
}
در این مثال کلاس A از بیرون به کلاس B تزریق شده است. (در زمان نمونه سازی ابجکتی از کلاس B). که باز هم وابستگی وجود داره. (مجبورید حتما شی از نوع A رو به کانستراکتور B بفرستید)
Dagger2 این مشکل رو حل میکنه به یکبار شی رو بهش معرفی میکنید و هرجا نیاز باشه به کلاس مورد نظر داگر ان را تزریق میکنه.
برای اطلاعات بیشتر Dependency Injection رو سرچ کنید.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .