10-04-1395، 09:23 ق.ظ
10-04-1395، 01:23 ب.ظ
یکی از مفاهیم خیلی مهم توی کار با فریمورکهای مدرن مثل فالکن یا لاراول و Yii و... مفهومی هست تحت عنوان Dependency Injection یا Service Locator که در نگاه اول ممکنه پیچیده بنظر بیاد ولی واقعاً خیلی ساده و کاربردیه.
یه مکانیاب سرویس (Service Locator)، مثل یه کیف هست که خدماتی که برنامه شما از اونها برای اجرای وظایفش استفاده میکنه رو توی خودش نگه میداره. هربار فریمورک نیاز به یک عنصر داشته باشه، توی اون ظرف دنبال سرویس مربوطه با کمک نامی که قبلاً مشخص شده میگرده. از اونجا که فریمورکهای مدرن از اجزاء کاملاً مستقل تشکیل شدن، یه مخزن مشترک برای نگهداری این اجزا لازمه تا نقش یه چسب رو برای نگهداری و ادغام این ابزارها و عناصر متفاوت ایفا کنه و بهشون اجازه بده درکنار هم توی یک لایه نامرئی و شفاف کار کنن. این مخزن مشترک همون Dependency Injection یا Service Locator نامیده میشه.
یه مکانیاب سرویس (Service Locator)، مثل یه کیف هست که خدماتی که برنامه شما از اونها برای اجرای وظایفش استفاده میکنه رو توی خودش نگه میداره. هربار فریمورک نیاز به یک عنصر داشته باشه، توی اون ظرف دنبال سرویس مربوطه با کمک نامی که قبلاً مشخص شده میگرده. از اونجا که فریمورکهای مدرن از اجزاء کاملاً مستقل تشکیل شدن، یه مخزن مشترک برای نگهداری این اجزا لازمه تا نقش یه چسب رو برای نگهداری و ادغام این ابزارها و عناصر متفاوت ایفا کنه و بهشون اجازه بده درکنار هم توی یک لایه نامرئی و شفاف کار کنن. این مخزن مشترک همون Dependency Injection یا Service Locator نامیده میشه.