MVP 패턴은 MVC 패턴의 문제점들을 극복하고자 고안해낸 패턴이다. MVP 패턴은 Model
, View
, Presenter
의 약자이다.
MVP의 Model
과 View
는 MVC와 동일하고 보고, MVC의 Controller
가 Presenter
로 바뀌었다.
View
와 대체로 똑같고, 다른 점은 이벤트를 View
에서 받아 Presenter
로 전달한다.View
에서 받은 이벤트를 처리하고, 다시 View
에 전달한다.Model
로 부터 데이터를 받아 UI 로직에 적용하며 View
의 상태를 관리한다.View
에서 요청한 정보를 Model
로 부터 가공해서 View
로 전달한다.View
에서 사용자의 이벤트를 감지하고 Presenter
로 전달한다.Presenter
는 View
에서 받은 이벤트에 따라 Model
에 작업을 요청한다.Model
은 데이터를 알맞게 처리 하고 결과를 Presenter
로 반환한다.