결합(종속) 개체를 분리(독립) 개체에 주입(변환)하는 프로세스를 종속성 주입이라고 합니다.
의존성 주입 유형
DI에는 4가지 유형이 있습니다 -
-
생성자 주입
-
세터 주입
-
인터페이스 기반 주입
-
서비스 로케이터 주입
인터페이스 주입
Interface Injection은 Getter 및 Setter DI와 유사하며 Getter 및 Setter DI는 기본 getter 및 setter를 사용하지만 Interface Injection은 인터페이스 속성을 설정하는 일종의 명시적 getter 및 setter인 지원 인터페이스를 사용합니다.
예시
public interface IService{
string ServiceMethod();
}
public class ClaimService:IService{
public string ServiceMethod(){
return "ClaimService is running";
}
}
public class AdjudicationService:IService{
public string ServiceMethod(){
return "AdjudicationService is running";
}
}
interface ISetService{
void setServiceRunService(IService client);
}
public class BusinessLogicImplementationInterfaceDI : ISetService{
IService _client1;
public void setServiceRunService(IService client){
_client1 = client;
Console.WriteLine("Interface Injection ==>
Current Service : {0}", _client1.ServiceMethod());
}
} 소비
BusinessLogicImplementationInterfaceDI objInterfaceDI = new BusinessLogicImplementationInterfaceDI(); objInterfaceDI= new ClaimService(); objInterfaceDI.setServiceRunService(serviceObj);