MVP

최대 1 분 소요

설명

MVC에 이어 MVP를 알아보자

기본적으로 MVC와 유사하다
차이점은 ViewController가 View와 함께 Passive View에 속해있다는 점!
presenter는 Model과 Passive View 사이에 다리 역할을 하며
이로 인해 MVC에서의 문제였던 View의 생명 주기에서 자유로울 수 있다
View는 이로 인해 데이터와 상태를 갱신하는 역할에 집중 할 수 있다
같은 이유로 View도 Test가 가능하게 되었다
다만 View의 갱신, 이벤트 처리에 대한 메소드 바인딩이 이루어저야 하여
개발비용이 MVC보다 더 많이 든다!

좋은 아키텍처 특징에서 보기

  1. 책임 분배 : Presenter와 Model을 완벽하게 분리하고 View는 단순히 출력하는 용도로 분리 되었다
  2. 테스트 : View의 재사용이 가능하여 대부분의 로직을 테스트할 수 있다
  3. 사용 용이성 : 코드는 MVC에 비해 늘어나지만 각 요소들의 역할이 더 명확해 진다

iOS에서 테스트를 하기에 좋다!, 다만 코드는 길어진다!

댓글남기기