, 이것은 약간의 의미를 보이지만, 다음의 정보를 읽은 후 :MVC (Asp.Net MVC 특히)에서 모델을 단일 뷰로 나타내야합니까? 나에게
http://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet-mvc.html
(특히 주석의 일부) http://blog.stevensanderson.com/2010/02/19/partial-validation-in-aspnet-mvc-2/#comment-35397
그것은 나타납니다 Asp.Net MVC의 배경은 모델과 뷰 사이에 일대일 관계가 있다는 것입니다. 이것은 DRY 원칙과 몇 가지 다른 표준 프로그래밍 방식에 위배되는 것 같습니다.
예를 들어 사용자 계정 모델이 있고 사용자가 편집 할 수있는보기가 두 가지 있는데 하나는 사용자가 직접 편집 할 수 있고 다른 하나는 사이트 관리자가 편집 할 수있는보기입니다. 관리자는 내부의 필수 항목에 대한 추가 필드에 액세스 할 수 있지만 사용자는이를 볼 수 없거나 편집 할 수 없습니다. 위에 언급 된 게시물에 설명 된 모델 바인딩 기능과 신념에 따라 각 페이지마다 하나씩 두 개의 개별 사용자 모델을 만들어야하며 유일한 차이점은 추가 필드입니다. 이것은 단순한 예일뿐입니다. 정확하게 동일한 객체에 대해 5 개 또는 6 개의 다른 모델을 의미하는 곳을 보았습니다. 각보기 사이의 필드가 다를 수 있습니다. 그건 정말 나에게 이해가되지 않습니다.
그래, 그들은 유효성 검사에 대해 이야기합니다. 유효성 검사는 내가 그들과 어떻게 만났는지를 말합니다. 그러나 MVC가 아닌보기 모델을 수행하지 않는 한보기가 모델과 정확하게 일치해야하므로 공동체가 그렇게하기를 원했기 때문에 유효성 검사가 수행되는 이유에 대해 이야기합니다. MVC의 하위 집합 일 수도 있지만 가장 순수한 의미에서는 MVC가 아닙니다. –