답변

5

두 프레임 워크는 서로 다른 범위를 가지므로 동일한 프로젝트에서 쉽게 사용할 수 있습니다. 그러나 도메인 엔티티에서 코드 계약을 사용하지 못하게해야합니다. 이렇게하면 모든 호출자는 잘못된 값을 설정하지 않도록해야합니다 (이렇게하면 컴파일 타임 오류가 발생합니다). 그러나 유효성 검사 응용 프로그램 차단을 사용하면 엔티티의 상태가 일시적으로 유효하지 않아야합니다. 그렇지 않으면 VAB에서 잘못된 개체를 검색 할 수 없습니다.

코드 계약은 프로그래밍 오류를 방지하기위한 것이지 사용자 오류가 아니라 프로그래밍 시간을 지원합니다. VAB는 프로그래밍 오류가 아닌 사용자 오류를 방지하고 이에 대한 런타임 지원을 제공합니다.

* 좋아요, VAB는 프로그래밍 오류에도 사용할 수 있습니다 (실제로이 방법으로 직접 사용합니다).하지만 주요 시나리오는 사용자 입력 IMO입니다.

+0

코드 계약은 컴파일 타임 및 런타임 검사 (사용중인 Visual Studio의 버전에 따라 다름)를 수행합니다. – adrianbanks

+0

나는 실제로 CC가 런타임 지원을 제공하지 않는다고 말하지 않았다 :-) 요점은 프로그래밍 오류를 체크한다는 것이다. – Steven

+0

간결한 답변 주셔서 감사합니다. 프로그래밍 오류를 방지하기 위해 VAB를 어떻게 사용합니까? – Nick

관련 문제