MVP

종류: Architecture

  • Model - MVC 패턴에서 의미하는 모델과 같은 역할을 한다. 앱의 실행에 필요한 실질적인 데이터를 갖고 있다.
  • View - UIView와 UIViewController가 여기에 해당한다. 비즈니스 로직과 관련된 일은 모두 Presenter가 하도록 한다.
  • Presenter - UIKit과 관련이 없는 로직들을 수행한다. 사용자 응답에 반응하거나 UI를 업데이트하는 일을 한다.

View는 Presenter를 소유하고, Presenter는 user의 actionmodel의 변화에 따라 View를 update한다.

즉, Presenter가 Model과 View의 중재자 역할을 함으로써 MVC 패턴과 달리 Model과 View에 독립성을 확보하였다.