נראה את מימוש Dependency Injection על הפרוייקט לדוגמא. בפונקציית ה-get ב-controller יש לנו coupling. קובץ ProductsController.cs יצירת ה-Interface כדי להשתמש ב-GetAllProducts צריך להכיר את ProductsRepository וזה כרגע מייצר את הבעיה. כדי לפתור את זה ניצור תיקייה שנקרא לה Contracts. בתוכה נוסיף item שהוא interface שנקרא לו IProductsRepository. בתוך IProductsRepository נשים את חתימת הפונקציה שאנחנו צריכים. […]
המשך של מבנה ה-Controller. ראינו שמבנה של controller בו אנחנו משתמשים ב-new על מנת ליצור class אחר, הוא משהו שעובד, אבל לא רצוי. אם כותבים new בקוד, כנראה שעושים משהו לא נכון! מותר לעשות new כאשר מדובר על new של ישויות מידע. לא לשירותים, כלומר classes שמחזיקים פונקציות. Product הוא ישות, אין בו פונקציונליות, יש […]