결합(종속) 개체를 분리(독립) 개체에 주입(변환)하는 프로세스를 종속성 주입이라고 합니다.
의존성 주입 유형
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);