تو بخش اول کلیاتی که برای مفاهیم اولیه لازم بود بررسی کردیم تو این بخش چند تا از ابزارهای مطرح در زمینه تزریق وابستگی در اکوسیستم جی وی ام رو بررسی می میکنیم
بخش دوم : ابزارهای تزریق وابستگی در جی وی ام
مورد اول قطعا یکی از شاهکارهای محیط جاوا یعنی فریمورک اسپرینگ ه. این فریمورک بزرگ یک مولفه تزریق وابستگی داره که از شما میخواید تو یک فایل ایکس ام ال روابط بین کلاس ها رو شرح بدید . مدیریت اسکوپ نمونه ها و مقداردهی اولیه خوبی داره ولی یک مساله مهمش اینه که تمام اعتبارسنجی های اون گراف وابستگی و پیکربندی هاش رو زمان اجرا انجام میده. البته از بد روزگار هم همه از ایکس ام ال بدشون اومده و سخت شده کار باهاش ?
مورد بعدی که زیاد ازش صحبت میشه گوگل جوس ه که یه سری امکانات جدید واسه پیکربندی اضافه کرد و حتی حجمش رو هم کرد. بیشتر هم بخاطر استفاده از ویژگی های جدید جاوا مثل انوتیت معروف شد به طوری که دیگه نیاز نبود همه تنظیمات رو یه جا نوشت و میشد تو کل پروژه با استفاده از انوتیت اینجکت مثلا از اینجکتور خواست که نمونه مورد نظر رو به ما بده. مشکلی که وجود داشت این بود که باز همه چی زمان اجرا اعتبار سنجی میشد.و البته مشکل بزرگش استک تریس مبهمش در زمان خطا بود. یعنی به هر دلیلی به خطا میخوردید — البته این خطا عموما زمان اجرا پیش می اومد- پیدا کردن منشاش خیلی خیلی سخت میشد چون استک تریسش خیلی گویا نبود
داگر نسخه ۱ یه مشکل اساسی رو حل کرده بود و اون این بود که بعضی موارد رو زمان کامپایل بررسی میکرد و استک تریسش هم خیلی گویا بود. یه سری مشکلات تو پرفورمنش داشت ولی خب اینقد خوب بود که گوگل تصمیم گرفت این پروژه رو فورک کنه و نسخه ۲ رو خودش منتشر کنه
کلید درک تزریق وابستگی درک گراف وابستگی است. بخش زیادی از کار مسول تزریق از طریق تولید کد و رفلکشن انجام میشه.تولید کد عموما برای راحتی کار ماست. اگر ما میخواستیم خودمون این مسول داشته باشیم باید به ازای هر کلاس یک فاکتوری بنویسیم. در زمان اجرا هم بایستی خیلی از خصوصیات کلاس ها رو بخونیم تا بتونیم روابط رو بفهمیم. همه این کارها رو این ابزارها برای ما انجام میدن
Originally published at hemnhp.ir on January 3, 2018.