내보기 모델은 다음과 같이 보입니다 나의 목표이다를 사용하여 단일 뷰 모델은
public class Car() {
public string Make { get; set; }
public string Model { get; set; }
. . .
}
단 하나의 뷰 모델을 가지고 그 내 목록보기와 단일보기 모두에 사용할 수 있습니다. 목록보기의 경우, Car 목록을 수화하여보기 내에서 사용하고 단일 Car 엔터티는 무시합니다.
자세한 내용은 반대입니다. 내 컨트롤러가 단일 Car 엔티티를 수화 시키면 뷰는이를 사용하고 목록을 무시합니다.
이것은 부분적으로 작동하지만 모델 바인딩이 약합니다.
DRY (반복하지 말 것)와 SOC/SRP (우려 사항 분리/단일 책임 원칙)가 여기에 상충되는 것 같습니다. 목록보기와 상세보기를 모두 처리하는 가장 좋은 방법은 무엇입니까? 대답은 중복 된 뷰 모델을 만드는 것입니다.하지만 도움이 될만한 코드를 복제하고 싶지는 않습니다.
내 원래 구현 당신이 제안처럼입니다
public class Car() { public string Make { get; set; } public string Model { get; set; } . . . }
과 모델 클래스. 내 유일한 관심사는 목록보기는 궁극적으로 단순히 개체 목록 이외의 추가 정보가 필요할 수 있습니다. –그런 다음이를 고려한 목록보기에 대한 두 번째보기 모델을 만들 수 있습니다. 예제에서 편집하겠습니다. – Tommy