Що таке фабричні сервіси?
Фабричні сервіси - це сервіси, що створюються не напряму через клас, а за допомогою фабричної функції.
Тобто замість звичайного useClass використовується useFactory:
typescript
providers: [
{
provide: MyService,
useFactory: (dep: OtherService) => new MyService(dep.config),
deps: [OtherService]
}
]Так можна:
- контролювати, як саме створюється об'єкт (наприклад, залежно від середовища чи налаштувань);
- повертати різні екземпляри одного типу за різних умов;
- впроваджувати залежності вручну через параметр
deps.
По суті, фабричний сервіс - це спосіб гнучко керувати створенням залежностей у DI.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.