아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
버즈빌 favicon버즈빌

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

by DD
2017-01-31
9년 전
조회수 13

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

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

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

MVP 패턴의 핵심 원리

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

MVP 패턴 적용 전후 비교

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

실제 코드 적용 가이드

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

Android MVP Pattern - What, Why and How?
중급
아키텍처
Android
MVP
Mobile
원문 읽기
원문 읽기

관련 추천 글

GitHub Mobile, Copilot 세션 필터/정렬 기능 강화

깃헙 로고

Android 17, 지능형 시스템으로의 진화 시작!

프로덕트 헌트 로고

Android 앱 의도치 않은 변경, Manifest Shield로 막으세요!

네이버 D2 로고

Android CLI 출시, AI 에이전트 기반 앱 개발을 3배 빠르게!

해커뉴스 로고

Android, 앱 스토어 정책 대격변!

테오 로고

Google의 Android 폐쇄 정책에 맞선 F-Droid와 커뮤니티의 움직임

해커뉴스 로고

댓글 0

첫 번째 댓글을 남겨보세요!
버즈빌 favicon버즈빌
중급
아키텍처
Android
MVP
Mobile

관련 추천 글

GitHub Mobile, Copilot 세션 필터/정렬 기능 강화

깃헙 로고

Android 17, 지능형 시스템으로의 진화 시작!

프로덕트 헌트 로고

Android 앱 의도치 않은 변경, Manifest Shield로 막으세요!

네이버 D2 로고