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

C#에서 속성을 사용하여 종속성 주입을 구현하는 방법은 무엇입니까?

<시간/>

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

의존성 주입 유형

DI에는 4가지 유형이 있습니다 -

  • 생성자 주입

  • 세터 주입

  • 인터페이스 기반 주입

  • 서비스 로케이터 주입

세터 주입

Getter 및 Setter 주입은 Gettter(get(){}) 및 Setter(set(){})와 같은 기본 공개 속성 프로시저를 사용하여 종속성을 주입합니다.

예시

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";
   }
}
public class BusinessLogicImplementation{
   private IService _client;
   public IService Client{
      get { return _client; }
      set { _client = value; }
   }
   public void SetterInj(){
      Console.WriteLine("Getter and Setter Injection ==>
      Current Service : {0}", Client.ServiceMethod());
   }
}

소비

BusinessLogicImplementation ConInjBusinessLogic = new BusinessLogicImplementation();
ConInjBusinessLogic.Client = new ClaimService();
ConInjBusinessLogic.SetterInj();