Notice
Recent Posts
Recent Comments
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

성장기록지

MVP 패턴이란? (with Android) 본문

안드로이드

MVP 패턴이란? (with Android)

pengcon 2025. 3. 6. 12:48

MVP 패턴

이전에 설명한 MVC 패턴에서 Controller를 Presenter로 교체한 것이다. 

흐름은 다음과 같다.

1. User가 Input을 준다.

2. View는 Presenter에게 Event를 전달한다.

3. Presenter는 Model을 조작하고, 데이터 값을 받아온다.

4.Presenter는 VIew에게 응답을 알려준다.(Notify)

5. View를 통해 ui로 표시하게 된다.

Android에서 MVP 패턴 적용하기 (예제)

아래와 같이 Contract Interface 안에 View와 Presenter 인터페이스를 만들 수 있다.

 

사진과 같이 상속을 받아서 내부에서 구체적으로 구현을 하게 된다.

아래 버튼은 클릭시 Presenter에게 이벤트를 알려주게 되는 예시

 

MVP 패턴 적용시 장,단점

장점

역할 분리가 잘 이루어지게 된다.

Model과 View의 의존성이 지워지게 된다.

 

단점

View와 Presenter가 강하게 결합되어있다. (테스트 어려움)

관계를 유지하기위해 보일러 플레이트가 발생하게 된다.

 

마치며

이러한 단점들로 인하여 MVVM패턴을 안드로이드에서 주로 사용하게 되었다고 한다.

여태까지 MVVM이 권장되어지는 것만으로 사용하였는데, 패턴의 발전 과정을 보니 조금 더 이해를 할 수 있게 되었다.

MVVM 패턴 학습은 다음 글에 작성되어 있다.

https://codinghun.tistory.com/47

 

안드로이드 MVVM 패턴이란?

MVVM 아키텍처 패턴 개요MVVM(Model-View-ViewModel) 패턴은 안드로이드 앱 개발에서 구조적 명확성과 확장성을 위해 널리 사용되는 설계 패턴이다. 이 패턴은 다음 세 가지 구성 요소로 나뉜다.1. Model앱

codinghun.tistory.com