Angular 프로바이더(provider)는 의존성 주입(Dependency Injection) 시스템의 핵심 요소 중 하나입니다. 프로바이더를 사용하여 의존성을 제공하고 관리하는 것이 가능합니다. Angular에서는 여러 종류의 프로바이더를 다룹니다. 그 중에서 ClassProvider
, FactoryProvider
, ValueProvider
, ExistingProvider
, StaticClassProvider
등이 있습니다.
ClassProvider
ClassProvider
는 클래스를 사용하여 의존성을 제공하는 방법입니다. 예를 들어, 다음과 같이 ClassProvider
를 사용하여 서비스를 제공할 수 있습니다.
{
provide: Logger,
useClass: AdvancedLogger
}
이렇게 하면 Logger
를 요청할 때 AdvancedLogger
가 제공됩니다.
FactoryProvider
FactoryProvider
는 팩토리 함수를 사용하여 의존성을 제공하는 방법입니다. 예를 들어, 다음과 같이 FactoryProvider
를 사용하여 서비스를 제공할 수 있습니다.
{
provide: 'config',
useFactory: () => ({
title: 'My App',
version: '1.0.0'
})
}
이렇게 하면 'config'
를 요청할 때 팩토리 함수가 실행되어 객체가 제공됩니다.
ValueProvider
ValueProvider
는 값을 사용하여 의존성을 제공하는 방법입니다. 예를 들어, 다음과 같이 ValueProvider
를 사용하여 서비스를 제공할 수 있습니다.
{
provide: 'title',
useValue: 'My App'
}
이렇게 하면 'title'
을 요청할 때 지정된 값이 제공됩니다.
Angular 프로바이더는 의존성 주입을 효과적으로 관리하는 데 도움을 줍니다. 각각의 프로바이더의 사용 사례와 방법을 숙지하면 Angular 애플리케이션의 구조를 더 효율적으로 관리할 수 있습니다.
자세한 내용은 Angular 공식 문서를 참조하세요.