Android MVP 정리
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을 생성하게 되어 클래스가 많아지는 상황이 발생한다.
Leave a comment