모델-뷰-프리젠터(model-view-presenter, MVP)는 모델-뷰-컨트롤러(MVC) 아키텍처 패턴의 파생 패턴으로,사용자 인터페이스를 개발하기 위해 대부분 사용된다.
출처: MVP - wikipedia
모델(model)이란 어플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분입니다.
모델 특징
뷰(View)란 사용자 인터페이스 요소를 나타냅니다.
뷰 특징
프리젠터(Presenter)란 View에서 요청한 정보로 Model을 가공하여 View에 전달해 주는 매개체입니다.
프리젠터 특징
장점
MVC 패턴과 다르게 Model과 View의 의존성이 없다는 것입니다.
Model과 View의 결합도를 낮추면, 새로운 기능 추가 및 변경을 할때 마다 관련된 부분만 코드를 수정하면 되기 때문에 확장성이 개선됩니다.
한계
어플리케이션이 복잡해질수록 View와 Presenter 사이의 의존성이 강해지는 문제가 있습니다.