이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 21356|회답: 1

[출처] IoC 효율 오토팩

[링크 복사]
게시됨 2016. 9. 13. 오후 1:14:12 | | |
IoC ~ 효율적인 오토팩

마이크로소프트가 가장 선호하는 IoC 컨테이너는 spring.net 유니티가 아니라 효율성과 단순성 때문에 오토팩(Autofac)임은 의심의 여지가 없으며, 마이크로소프트가 주도하는 과수원 프로젝트에도 사용됩니다

Autofac의 사용을 보여줍니다.


이제 이렇게 부르죠:

다음 강의에서는 과수원 프로젝트를 위한 특정 프로젝트에서 Autofac의 활용에 대해 이야기할 것입니다.

이제 그 생명 주기를 살펴보세요

1, 인스턴스 의존성

각 의존성 또는 호출마다 새로운 고유 인스턴스를 생성하세요. 이것이 인스턴스를 만드는 기본 방법이기도 합니다.

공식 문서에는 다음과 같이 설명되어 있습니다: 모든 의존 컴포넌트나 Resolve() 호출이 새롭고 고유한 인스턴스(기본값)를 갖도록 구성하세요.

2, 인스턴스퍼라이프타임스코프

라이프사이클 도메인에서는 각 의존성 또는 호출이 단일 공유 인스턴스를 생성하며, 서로 다른 라이프사이클 도메인마다 인스턴스는 고유하고 공유되지 않습니다.

공식 문서에 따르면: 단일 ILifetimeScope 내의 모든 의존 구성 요소나 Resolve() 호출이 동일한 공유 인스턴스를 받도록 구성 설정하세요. 서로 다른 수명 범위의 종속 부품은 서로 다른 인스턴스를 받게 됩니다.

3, InstancePerMatchingLifetimeScope

식별된 라이프사이클 도메인에서는 각 의존성 또는 호출이 단일 공유 인스턴스를 생성합니다. 부모 도메인의 인스턴스는 식별된 라이프사이클 도메인의 자식 아이덴티티 도메인에서 공유할 수 있습니다. 전체 상속 계층에서 식별된 라이프사이클 도메인이 없으면 예외가 투입됩니다: DependencyResolutionException.

공식 문서에는 다음과 같이 설명되어 있습니다: 제공된 태그 값을 가진 ILifetimeScope 내의 모든 의존 구성 요소나 Resolve() 호출이 동일한 공유 인스턴스를 갖도록 구성하세요. 태깅된 스코프의 자식인 라이프타임 스코프 내 종속 컴포넌트는 부모 인스턴스를 공유합니다. 계층 구조에서 적절한 태그가 지정된 범위가 없으면 DependencyResolutionException이 실행됩니다.

4, 인스턴스퍼소유

라이프사이클 도메인에 소유된 인스턴스가 생성한 인스턴스의 라이프사이클에서, Resolve() 메서드의 각 종속 컴포넌트나 호출은 단일 공유 인스턴스를 생성하며, 자식 라이프사이클 도메인은 부모 라이프사이클 도메인의 인스턴스를 공유합니다. 상속 계층에서 자식 인스턴스가 포함된 적절한 라이프사이클 도메인이 없으면, 예외 명령이 던집니다: DependencyResolutionException.

공식 문서는 다음과 같이 설명합니다:

소유된 인스턴스가 생성한 ILifetimeScope 내의 모든 의존 구성 요소나 Resolve() 호출이 동일한 공유 인스턴스를 받도록 구성하세요. 소유된 인스턴스 범위의 자식인 라이프타임 스코프 내 종속 컴포넌트들은 부모 인스턴스를 공유합니다. 계층 구조에서 적절한 소유 인스턴스 범위를 찾을 수 없으면 DependencyResolutionException이 투기됩니다.

5, 싱글 인스턴스

컴포넌트에 의존하거나 Resolve() 메서드를 호출할 때마다 동일한 공유 인스턴스가 발생합니다. 사실, 이것은 단일 모델입니다.

공식 문서에는 다음과 같이 설명되어 있습니다: 모든 의존 컴포넌트나 Resolve() 호출이 동일한 공유 인스턴스를 받도록 구성 설정하세요.

6, InstancePerHttpRequest

Http 요청의 맥락에서, 컴포넌트의 인스턴스를 공유합니다. MVC 개발에만 asp.net 제공됩니다.





이전의:MVC의 ActionResult
다음:동시 사전 vs. 사전+잠금장치 - Dennis Gao
 집주인| 게시됨 2016. 9. 13. 오후 1:15:50 |
Nuget 설치 방법:

Autofac 설치

Install-Package Autofac
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com