2013-05-16 3 views
0

그래서 처음 WPF를 배웠을 때 모델 아이디어에 대해 소개되었습니다. 모델에 대한 MVVM 개념은 클래스/클래스 집합에 포함 된 일반적인 '비즈니스 논리'에 더욱 부합하는 것으로 보입니다. 내가 MVC를 보았을 때, 모델은 폼을 통해 사용자에게 "전달"되는 경량 클래스 인 것처럼 보입니다. 이 평가가 맞는지 또는 모델이 무거운 무언가가있는 상황이 있는지 (단순히 사용자가 입력 한 데이터를 보유하고 유효성을 검사하는 것 이상을 의미합니다).모든 MVC 모델이 경량입니까?

+0

ASP.NET MVC의 맥락에서, 나는 "ViewModels"폼으로 전달되는 가벼운 클래스와 메소드와 물건을 가진 비즈니스 로직 객체를 호출하는 경향이있다. 전자는 MVC의 M입니다. 후자는 (내 의견으로는) V와 C 사이의 의사 소통의 일부입니다. 본질적으로 MVC가 아닌 M-C-VM-V입니다. – anaximander

답변

2

모델 (클래스)을 데이터 컨테이너 (일반적으로)로 사용하고 빈혈 도메인 모델 (http://en.wikipedia.org/wiki/Anemic_domain_model)을 살펴본 다음 비즈니스 계층, 서비스, 데이터 계층을 독립적으로 구현할 수 있습니다.

또는 일부 사람들은 캡슐화로 인해이를 수행하기를 원하는 모델 내에서 구현할 수 있습니다.

도메인 기반 디자인도 살펴보십시오. (http://en.wikipedia.org/wiki/Domain-driven_design)

+0

첫 번째 링크는 헤더에 '이 기사는 독자에게 혼동 스럽거나 불확실 할 수 있습니다.'라는 내용을 보여줍니다. 나는 그것이 꽤 자리하고 있다고 생각한다. – sircodesalot

+0

당신은 google을 더 읽을 수 있으며 마틴 파울러의 생각을 읽어 볼 수 있습니다. 그러나 다른 생각의 학교가 있습니다. 나는 그것을 좋아한다. – DarthVader

+1

중요한 것은 아니지만 "google it"은 stackoverflow 철학에 역행하는 것 같습니다. – sircodesalot

0

MVC 또는 다른 유사한 디자인 패턴에서 애플리케이션의 3 가지 별도 레이어를 정의했습니다. 객체의 논리가있는 모델, 사용자에게 정보를 표시하고 가져 오는 뷰, 컨트롤러 마녀가 서로 상호 작용하고 교환합니다.

MVC는 웹 응용 프로그램과 WPF가있는 MVVM에서 많이 사용됩니다. 그 이유는 WPF를 사용하면 View의 객체를 ViewModel의 객체와 함께 데이터 바인딩 할 수 있기 때문입니다.

예를 들어 Twiter 앱 : 트윗의 모든 속성을 가진 모델 (tweetItem)을 가질 수 있습니다. 트윗을 가져 와서 컬렉션에 저장하고 목록을 표시하는 ViewModel 그 컬렉션에.

MVVM 또는 MVC의 경우 코드의 구성 방법에만 응용 프로그램에 영향을줍니다.

관련 문제