내 뷰를 구현하고 페이지 구성자에 발표자를 만드는 ASP.NET 페이지가 있습니다. Phil Haack's post providing was used as the starting point, 나는 그 질문을 설명하기위한 게시물의 예제만을 다룰 것이다.ASP.NET MVP 서비스 종속성 삽입
public partial class _Default : System.Web.UI.Page, IPostEditView {
PostEditController controller;
public _Default()
{
this.controller = new PostEditController(this, new BlogDataService());
}
}
BlogDataService의 인스턴스를 삽입하는 가장 좋은 방법은 무엇입니까? 내가 찾은 예제는 사출 프레임 워크가 해결하는 속성으로 표시된 종속성에 대해 Page 클래스의 속성을 사용합니다.
그러나 테스트 목적으로 생성자 방식을 사용하는 것을 선호합니다.
누구나 위의 좋은 구현에 대한 입력 또는 링크가있을 수 있습니다. 나는 Ninject를 선호 할 것이지만, StructureMap이나 Windsor는 유창한 한 괜찮을 것입니다.
의견을 보내 주셔서 감사합니다.
나는 그것을 좋아한다, 고마워. – blu
이 방법을 사용하면보기가 현재 발표자에게만 알려 져야하는 IBlogDataService를 알 수 있습니다. 현재 뷰 객체와 구성된 IBlogDataService 인스턴스를 전달하는 DI 컨테이너를 사용하여 표현자를 구성하는 방법이 있습니까? – Scott
서비스 로케이터 사용은 IoC에 대한 패턴 방지로 간주됩니다. 더 좋은 방법이 있어야합니다. –