Android MVP 정리

less than 1 minute read

1. MVP 패턴

협업, 유지보수, 테스트에 용이한 Android개발에 도움이 되는 프레임워크 중 하나인 MVP에 대해 정리해보려고 합니다.

2. MVP(Model View Presenter)

MVP의 핵심은 사용자 인터페이스(View)와 비즈니스 로직(Model)을 분리하고, 서로간에 상호작용을 객체(Presenter)에 위임하여 영향을 최소화 하는것에 있습니다.

  • Model : 데이터를 저장하거나 요청한 데이터를 응답하여 전달하는 역할을 한다. 비즈니스 로직이라고도 불리며, View,Presenter등 다른 어떤 요소에 의존적이지 않은 독립적인 영역이다.

  • View : 사용자 인터페이스라 불리는 영역이며, Activity, Fragment가 대표적인 예이다. 사용자 액션을 감지하여 Presenter로 보내는 역할을 한다. Presenter를 이용해 데이터를 주고 받기 때문에 Presenter에 의존적이다.

  • Presenter : Model과 View사이의 중간다리 역할을 하며, View에서 전달받은 사용자 액션을 Model의 로직을 호출하거나, Model을 통해 나온 결과를 전달받아 View로 보내 View의 변경 하는 역할을 한다.

3. 장점

  • Model과 View간의 결합도를 낮추게 되면, 새로운 기능을 추가하거나 유지보수, 테스트를 하는 상황에 올때, 수정해야할 부분을 조금 더 빠르게 찾을 수 있으며, 아름다운 코드를 작성하는데 도움을 준다.

4. 단점

  • 1:1이라는 특수성을 가지고 있기 때문에, 하나의 View를 만들게 되면 Presenter을 생성하게 되어 클래스가 많아지는 상황이 발생한다.

Updated:

Leave a comment