Як інверсія управління пов'язана з DI?
Інверсія управління (IoC) - це принцип, а Dependency Injection (DI) - це спосіб його реалізувати.
Якщо просто:
- IoC каже: «хай не код керує залежностями, а хтось інший»;
- DI робить це на практиці - впроваджує залежності автоматично.
Приклад:
Без DI (немає інверсії управління):
ts
const service = new UserService();
const user = service.getUser();Компонент сам створює залежність - він «головний».
З DI (є інверсія управління):
ts
constructor(private userService: UserService) {}Тепер Angular створює UserService і подає його компоненту.
Контроль над створенням об'єктів перейшов до фреймворку - це і є інверсія управління.
Підсумок: DI - це конкретний механізм, за допомогою якого Angular реалізує принцип IoC.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.