logo

הזרקת תלות באביב

  1. הזרקת תלות באביב
  2. בדיקת תלות
  3. הזרקת תלות

הזרקת תלות (DI) היא דפוס עיצוב שמסיר את התלות מקוד התכנות כך שיהיה קל לנהל ולבדוק את האפליקציה. הזרקת תלות הופכת את קוד התכנות שלנו לחיבור רופף. כדי להבין טוב יותר את ה-DI, בואו נבין תחילה את בדיקת התלות (DL):

בדיקת תלות

בדיקת התלות היא גישה שבה אנו מקבלים את המשאב לאחר דרישה. יכולות להיות דרכים שונות להשיג את המשאב, למשל:

 A obj = new AImpl(); 

בצורה כזו, אנו מקבלים את המשאב (מופע של מחלקה A) ישירות על ידי מילת מפתח חדשה. דרך נוספת היא שיטת המפעל:

 A obj = A.getA(); 

בדרך זו, אנו מקבלים את המשאב (מופע של מחלקה A) על ידי קריאה לשיטת המפעל הסטטית getA().

לחלופין, אנו יכולים לקבל את המשאב על ידי JNDI (ממשק מדריך שמות של Java) בתור:

מחרוזת השווה java
 Context ctx = new InitialContext(); Context environmentCtx = (Context) ctx.lookup('java:comp/env'); A obj = (A)environmentCtx.lookup('A'); 

יכולות להיות דרכים שונות להשיג את המשאב כדי להשיג את המשאב. בואו נראה את הבעיה בגישה הזו.

בעיות של בדיקת תלות

יש בעיקר שתי בעיות של בדיקת תלות.

    צימוד הדוקגישת בדיקת התלות הופכת את הקוד לחיבור הדוק. אם המשאב משתנה, עלינו לבצע שינויים רבים בקוד.לא קל לבדיקהגישה זו יוצרת הרבה בעיות בזמן בדיקת האפליקציה במיוחד בבדיקת קופסה שחורה.

הזרקת תלות

הזרקת התלות היא דפוס עיצובי שמסיר את התלות של התוכניות. במקרה כזה אנו מספקים את המידע מהמקור החיצוני כגון קובץ XML. זה הופך את הקוד שלנו לחיבור רופף וקל יותר לבדיקה. במקרה כזה נכתוב את הקוד כך:

 class Employee{ Address address; Employee(Address address){ this.address=address; } public void setAddress(Address address){ this.address=address; } } 

במקרה כזה, מופע של מחלקה Address מסופק על ידי מקור חיצוני כגון קובץ XML, או על ידי שיטת בנאי או קובע.

רשתות וסוגים

שתי דרכים לבצע הזרקת תלות במסגרת אביב

מסגרת אביב מספקת שתי דרכים להחדיר תלות

  • על ידי קונסטרוקטור
  • בשיטת Setter

נושאים קרובים בהזרקת תלות באביב

הזרקת תלות על ידי בנאי

בוא נראה איך נוכל להחדיר תלות לפי בנאי.


הזרקת תלות לפי שיטת מקבע

בוא נראה איך נוכל להחדיר תלות לפי שיטת קובע.