C# Language의존성 주입


비고

의존성 주입에 대한 Wikipedia의 정의는 다음과 같습니다.

소프트웨어 엔지니어링에서 종속성 주입은 의존성 해결을위한 제어 반전을 구현하는 소프트웨어 설계 패턴입니다. 의존성은 사용할 수있는 객체입니다 (서비스). 인젝션 (injection)은 그것을 사용하는 의존 객체 (클라이언트)에게 의존성을 전달하는 것이다.

** 이 사이트에는 5 세 아동에게 의존성 주사를 설명하는 방법에 대한 답변이 있습니다. 존 먼츠 (John Munsch)가 제공 한 가장 높은 평가를받은 답은 (가상의) 5 살짜리 심문자를 대상으로 한 놀라운 비유를 제공합니다. 당신이 가서 냉장고에서 물건을 꺼낼 때 문제가 발생할 수 있습니다. 문을 열어두면 엄마 나 아빠가 원하지 않는 것을 얻을 수 있습니다. 우리가 가지고 있지 않거나 만료 된 무언가를 찾고있을 수도 있습니다. 네가해야 할 일은 "점심 먹고 마실 것이있어."라고 말하는 것입니다. 그러면 앉아서 먹을 때 뭔가를 갖도록 할 것입니다. 객체 지향 소프트웨어 개발 측면에서 이것이 의미하는 바는 다음과 같습니다. 공동 수업 (5 세)은 인프라 스트럭처 (부모)가 제공해야합니다.

**이 코드는 MEF를 사용하여 DLL을 동적으로로드하고 종속성을 해결합니다. ILogger 종속성은 MEF에 의해 해결되고 사용자 클래스에 주입됩니다. 사용자 클래스는 결코 ILogger의 구체적인 구현을받지 못하고 어떤 종류의 로거를 사용하는지 모릅니다. **

의존성 주입 관련 예