2009-08-19 4 views
41

저는 최근 MVP 패턴을 처음 사용하는 판매 시점 관리 시스템을 구축하기 위해 .Net WPF 프로젝트를 진행했습니다. 접근 방식을 바꿔서 내 머리를 감싸는 데는 다소 시간이 걸렸지 만 한 번 그렇게하면 개념이 흔들렸다고 생각했습니다!MVC/MVP/MVVM이게 뭐야?

내 질문은 : MVC, MVP 및 MVVM의 차이점은 무엇입니까? 명확한 구별이있는 경우, 한 패턴을 다른 패턴보다 사용해야하는 경우에 대한 지침이 있습니까?

누구나이 가이드를 제공하거나 차이점을 설명하는 기사를 가리켜 주시면 감사하겠습니다.

+0

WPF가 MVVM 패턴으로 Silverlight로 개발 된 경우 MVP를 어떻게 사용할 수 있습니까? –

+1

가능한 복제본 [MVP 및 MVC 란 무엇이며 그 차이점은 무엇입니까?] (http://stackoverflow.com/questions/2056/what-are-mvp-and-mvc-and-what-is-the-difference) – Mast

답변

3

은 특정 프레임 워크 구현 특정 패턴을 보면 패턴의 차이를 grok 수 어려울 수 있습니다. 이 MSDN 문서 WPF MVVM는 일반적인 방법으로 패턴을 설명 마틴 마틴 파울러 원래 기사를 참조한다 :

돌아 가기 2004 년을, 마틴 파울러는 [...] 고려 프리젠 테이션 모델 (PM)라는 이름의 패턴에 대한 기사를 게시 MVVM은보다 일반적인 PM 패턴을 전문으로하기 위해 WPF 및 Silverlight 플랫폼 용으로 맞춤형으로 제작되었습니다.

다른 패턴을 이해하려면 Martin Fowler의 다양한 접근법에 대한 설명이 유용합니다. 그의 Passive View 패턴은 MVP 방식입니다. 그의 Supervising Controller 패턴은 MVC 방식입니다. 그의 Presentation Model 패턴은 MVVM 접근 방식입니다. 이 older article은 그러한 패턴의 진화를 취합니다.

다른 언어로 된 구현을 보는 것도 도움이 될 수 있습니다. 기사 Implementing event-driven GUI patterns using the ZK Java AJAX framework은 현대 Java 프레임 워크에서 위에서 언급 한 Martin Fowler 패턴 중 세 가지를 대조합니다. WPF와는 다른 언어와 다른 프레임 워크가 있지만 다른 언어로 된 패턴을 보려는 패턴 구현보다는 패턴을 보는 것이 도움이 될 수 있습니다.

관련 문제