🔶 سه نکته‌ی کاربردی در dagger۲ (قسمت دوم).. 🔹در قسمت قبل نحوه‌ی استفاده از Component

🔶 سه نکته‌ی کاربردی در dagger2 (قسمت دوم)

🔹در قسمت قبل نحوه‌ی استفاده از Component.Builder@ و BindsInstance@ رو توضیح دادم،توی این قسمت در مورد دو نکته‌ی بعدی صحبت میکنم. سورس کامل پروژه رو هم میتونید توی لینک زیر ببینید:
https://github.com/abbas-oveissi/SearchMovies/

1️⃣ استفاده از متد‌های استاتیک همراه با Provides@

▫️این نکته برای پروژه‌های جاوا خیلی تاثیرگذار نیست ولی به بازدهی پروژه‌های اندروید خیلی کمک میکنه. نکته‌اش خیلی سادس و فقط کافیه متد‌های داخل ماژولتون رو تبدیل به متد‌های استاتیک بکنید (در نظر داشته باشید که اگر متدی رو استاتیک بکنید، دیگه نمیتونه به فیلد‌های غیر استاتیک اون کلاس دسترسی داشته باشه). وقتی متدهارو استاتیک میکنید، دیگه دگر مجبور نیست برای فراخوانی متد‌های کلاس ماژولتون یک object ازش بسازه و میتونه بدون اینکار مستقیما متدهارو صدا بزنه، در نتیجه بازدهی بالاتر میره.

2️⃣ استفاده از Binds@ به جای Provides@

▫️دگر نمیتونه اینترفیس‌هارو تزریق بکنه، دلیلشم این هست که نمیتونه متوجه بشه شما به object کدوم کلاس (از بین کلاس‌هایی که این اینترفیس رو پیاده سازی کردن) نیاز دارید. پس باید داخل یکی از ماژول‌هاتون براش متد Provides@ بنویسید. توی این قضیه میشه از Binds@ استفاده کرد. برای توضیح دادنش نیاز به نشون دادن کد هست که توی کانال تلگرام نمیشه. برای همین به لینک زیر برید که هر دو نکته رو کاملتر و در کنار کد‌هاشون توضیح دادم.

لینک قسمت دوم:
http://abbas.oveissi.ir/2017/08/02/dagger2-tips-part2/

#dagger #android #di
◀️ عضویت در کانال @aoveissi