8

최근 IoC 컨테이너로 Autofac과 함께 Dependency Injection 패턴을 사용했습니다.C# 클래스 라이브러리 프로젝트 종속성 주입 부트 스트랩

일반적으로 핵심 응용 프로그램 (Winform, WCF, WPF 등) 내부에서 사용합니다.

현재 동료 개발자를위한 프레임 워크로 클래스 라이브러리 프로젝트를 만드는 법을 배우고 있으며, 내가가는대로 단위 테스트를 할 수 있으므로 DI 패턴을 고수하는 경향이 있습니다.

진입 점이없는 클래스 라이브러리 프로젝트에서 IoC 컨테이너를 구성하려면 어떻게해야합니까?

난 그냥 같은 것을 확인해야 :

public static void ConfigureLibrary() { 
    //.. Do bootstraping here 
} 

및 핵심 응용 프로그램이 시작할 때 핵심 응용 프로그램을 호출 할 수 있습니다?

라이브러리는 패턴을 어떻게 좋아합니까 & 사례 엔터프라이즈 라이브러리 또는 Spring.Net이 구성 되었습니까?

+0

관련 항목 : http://stackoverflow.com/questions/1831455/what-are-the-best-practices-for-class-libraries-using-dependency-injection-for-i – Steven

+0

관련 : http : // stackoverflow .com/questions/2045904/dependency-inject-di-friendly-library – Steven

+0

필수 읽기 : http://blog.ploeh.dk/2014/05/19/di-friendly-library/ – Steven

답변

8

패턴과 같은 라이브러리는 어떻게 되었습니까? & 사례 엔터프라이즈 라이브러리 또는 Spring.Net이 어떻게 구성 되었습니까?

여기에 대해서는 Chris Tavares의 an interesting article입니다.

+0

참으로 흥미 롭습니다. 초보자 * 인 것을 용서할 수있는 것부터, EntLib과 같은 라이브러리까지도 사용자가 여전히 구성해야합니다. Facade를 사용하면, 설정도'InitializeMyClassLibrary()'처럼 간단합니다. 그럴까요? –

+0

AFAIK 그렇지 않습니다. EntLib에는 그대로 사용할 수있는 기본 구성이 있습니다. 기본 외관이 있어야합니다. – Steven

+0

당신은 어떤 종류의 정적 진입 점을 의미합니까? –

0

진입 점이없는 클래스 라이브러리 프로젝트에서 IoC 컨테이너를 구성하려면 어떻게해야합니까?

일반적으로 응용 프로그램은 서비스 등록의 루트 여야합니다. 하지만 예, 도서관에 기본 등록을 제공 할 수 있습니다. Here은 며칠 전에 내가 현재 팀과 팀이했던 블로그 게시물입니다.