Sobes.tech
Middle+

როგორ არის განხორციელებული Dependency Inversion პრინციპი Angular-ში? რა არის InjectionToken?

sobes.tech AI

პასუხი AI-სგან

В Angular принцип Dependency Inversion реализован через механизм Dependency Injection (DI). Вместо того чтобы компоненты сами создавали зависимости, они получают их извне, что повышает модульность и тестируемость.

InjectionToken — это специальный класс, который используется для создания уникального токена для DI, особенно когда нужно внедрить значение или объект, который не является классом (например, строку, конфигурацию или интерфейс). Это позволяет Angular точно идентифицировать, что именно нужно внедрить.

Пример использования InjectionToken:

import { InjectionToken } from '@angular/core';

export const API_URL = new InjectionToken<string>('apiUrl');

// В провайдерах модуля
providers: [
  { provide: API_URL, useValue: 'https://api.example.com' }
]

// В компоненте или сервисе
constructor(@Inject(API_URL) private apiUrl: string) {}