Що таке Dependency Injection (DI) в Angular? Навіщо потрібен механізм DI?
Dependency Injection (DI) - це механізм, за допомогою якого Angular автоматично передає потрібні залежності (наприклад, сервіси) у компоненти, директиви або інші класи.
Простими словами:
Замість того щоб створювати об'єкти вручну через new, Angular сам їх створює і підставляє, коли вони потрібні.
Приклад:
ts
import { Component } from '@angular/core';
import { UserService } from './user.service';
@Component({
selector: 'app-profile',
template: `{{ userService.userName }}`
})
export class ProfileComponent {
constructor(public userService: UserService) {}
}Тут UserService автоматично створюється Angular і передається в конструктор компонента.
Тобі не потрібно писати new UserService() - Angular сам знає, як це зробити.
Навіщо потрібен DI:
- Менше зв'язності. Компоненти не знають, як створюються сервіси - тільки що вони є.
- Простіше тестувати. Можна підмінити залежності на фейкові (mock).
- Повторне використання. Один сервіс можна використовувати в різних місцях.
- Керування часом життя. Angular вирішує, коли створювати і знищувати залежності.
Підсумок: Dependency Injection - це спосіб, за якого Angular бере на себе створення і передачу потрібних об'єктів, щоб код був чистішим, гнучкішим і простішим у супроводі.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.