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

C#에서 종속성 주입을 구현하는 다양한 방법과 이점은 무엇입니까?

<시간/>

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

의존성 주입 유형

DI에는 네 가지 유형이 있습니다.

1.생성자 주입

2.세터 주입

3.인터페이스 기반 주입

4.서비스 로케이터 주입

생성자 주입

생성자는 매개변수화된 계약자를 통해 노출된 매개변수를 인터페이스하는 데 사용됩니다.

다른 클래스의 개체 생성으로 계약자 메서드를 통해 종속성을 주입합니다.

세터 주입

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

인터페이스 주입

Interface Injection은 Getter 및 Setter DI와 유사하며 Getter 및 Setter DI는 기본 getter 및 setter를 사용하지만 Interface Injection은 인터페이스 속성을 설정하는 일종의 명시적 getter 및 setter인 지원 인터페이스를 사용합니다.

서비스 로케이터 삽입

서비스 로케이터 주입은 종속성 흡수라고도 합니다. 새로운 오퍼레이터의 교체에 사용됩니다. 객체를 생성하지 않고 직접 메서드를 호출하여 클래스 종속성을 숨깁니다.

DI의 장점

클래스 결합 감소

코드 재사용성 증가

코드 유지 관리 개선

애플리케이션 테스트 개선

중앙 집중식 구성

의존성 주입의 단점

종속성 주입의 주요 단점은 해결해야 할 인스턴스와 종속성이 너무 많으면 많은 인스턴스를 함께 사용하는 것이 매우 어려울 수 있다는 것입니다.