안드로이드 MVP 패턴 적용, 코드 구조 개선!

by DD
9년 전
조회수 9

MVP 패턴을 활용하여 안드로이드 앱의 UI와 비즈니스 로직을 분리함

Profile Activity 리팩토링을 통해 코드 가독성확장성을 확보함

Model, View, Presenter 각 역할 분담을 통해 테스트 용이성을 증대함

MVP 패턴의 핵심 원리

Model은 데이터 관리, View는 UI 표현, Presenter는 둘 사이의 중재자 역할을 수행한다. 구체적으로 View는 사용자 입력을 Presenter에 전달하고, PresenterModel을 호출하여 결과를 View에 반영한다. 따라서 관심사 분리를 통해 코드의 유지보수성을 향상시킨다.

MVP 패턴 적용 전후 비교

기존 ProfileActivity는 모든 로직을 담당하여 코드 복잡도가 높았다. MVP 패턴 적용 후, 각 역할 분담을 통해 단위 테스트가 용이해지고, 새로운 기능 추가 시 관련된 부분만 수정하면 된다. 반면, PresenterView 간의 소통을 위한 인터페이스 정의가 필요하다.

실제 코드 적용 가이드

먼저, Model에서 데이터 처리 로직을 정의하고, ViewPresenter 간의 인터페이스를 설계한다. 구체적으로 ViewPresenter를 통해 Model의 결과를 받고, PresenterView의 이벤트를 처리한다. 따라서 ProfileActivity 리팩토링을 통해 안드로이드 MVP 패턴을 효과적으로 적용할 수 있다.

Android MVP Pattern - What, Why and How?