Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 인터페이스 기반 주입을 사용하여 종속성 주입을 구현하는 방법은 무엇입니까?

<시간/>

결합(종속) 개체를 분리(독립) 개체에 주입(변환)하는 프로세스를 종속성 주입이라고 합니다.

의존성 주입 유형

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);