AngularJS שיעור 6: Dependency Injection

(לקוח מתוך מדריך AngularJS בעברית)

Dependency Injection (הזרקת תלויות) הוא כלי חדשני יחסית, המאפשר בחירה (או הוספה, הזרקה וכו') של קוד בזמן ריצה, במקום בזמן הכנת התוכנית (זמן הקומפילציה בשפות כמו C, Java, או ++C).

הרעיון:
אם אכתוב שם של רכיב הניתן להזרקה כפרמטר של controller למשל, הרכיב ייוצר ( בפעם הראשונה), ואז ל-controller כפרמטר.

לדוגמא:

ב – controller שלהלן, פרמטר יחיד בשם scope$.
scope$ הוא אובייקט Javascript (נדון ב scope$ בהמשך).
כותב ה – controller לא צריך לדאוג ליצירת האובייקט scope$. רכיב של AngularJS (הנקרא injector) יקרא את הגדרת ה – controller, ויגלה שקיימת תלות (dependency) באובייקט scope$.
ה – injector ייצור את הרכיב, ו – "יזריק" אותו (כלומר יעביר אותו כפרמטר) ל – controller.

ה – injector של AngularJS יודע להזריק רכיבים שונים, ואל תוך רכיבים שונים. לדוגמא:

  • אפשר להזריק רכיבים כמו  service או value אל תוך controller
  • גם אל תוך service אפשר להזריק רכיבים

(נדון ב service, value בהמשך)

Dependency Injection היא תבנית עיצוב (design pattern) שמשתמשים בו גם בשפות אחרות (Java למשל).
הפרטים המלאים על dependency injection ב AngularJS אפשר למצוא כאן.


כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *