인사말 내 모든 컨트롤러에 내 모델을 감싸고 서비스 계층에 액세스하기 위해 동일한 코드를 재활용 - 나는 각 컨트롤러에 복사/붙여 넣기 그것을 위해 피곤 해요 :MVC 모델 주
private IProjectService _service;
public New()
{
_service = new ProjectService(new ModelValidation(this.ModelState));
}
public New(IProjectService service)
{
_service = service;
}
내 모든 컨트롤러가 액세스 할 수있는 곳에이 위치를 배치 할 수있는 곳이 있습니까?
+1 DI를 언급 한 경우 컨트롤러 클래스가 서비스에 종속되어 있고 서비스의 유효한 인스턴스가 없으면 수행 할 수 없기 때문에 IProjectService에 대한 생성자 삽입을 추가합니다 – Sunny
@Sunny - 이것에 대한 여러 학교. 필자는 필요한 의존성에 대해 생성자 삽입을 사용하는 것에 대한 논쟁을 이해하지만, 일관된 주입 접근법을 사용하는 논쟁이 있으며, 물론 모든 IOC 컨테이너가 모든 메소드를 다른 것들처럼 쉽게 지원하는 것은 아닙니다. 그러나 이것은 피사체 주위를 희망적으로 읽을 때 OP가 픽업 할 일종의 것입니다. –