MVP 패턴은 Model, View, Presenter 로 이루어진 디자인패턴으로 MVC 패턴에서 Controller가 Presenter로 교체된 패턴입니다.
View에서 요청한 정보로 Model을 가공하여 View에 전달해 주는 부분입니다.
View와 Model의 의존성이 없습니다. MVP 패턴은 MVC 패턴의 단점이었던 View와 Model의 의존성을 해결하였습니다.
MVC 패턴의 단점인 View와 Model 사이의 의존성은 해결되었지만, View와 Presenter 사이의 의존성이 높은 가지게 되는 단점이 있습니다. 어플리케이션이 복잡해 질 수록 View와 Presenter 사이의 의존성이 강해지는 단점이 있습니다.
MVP 패턴은 Model, View, View Model 로 이루어진 디자인패턴으로 MVC 패턴에서 Controller가 View Model로 교체된 패턴입니다.
View를 표현하기 위해 만든 View를 위한 Model입니다. View를 나타내 주기 위한 Model이자 View를 나타내기 위한 데이터 처리를 하는 부분입니다.
View와 Model 사이의 의존성이 없습니다.
View Model의 설계가 쉽지 않습니다.