일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MVVM
- 코틀린
- 깃
- Python
- 제한함수
- Jetpack
- 코딩테스트
- mock
- 파이썬
- 테스트의 장점
- 안정성
- 컴포즈
- UnitTest
- 공격적 프로그래밍
- compose
- 안드로이드 디자인패턴
- 유닛테스트
- git
- Di
- 단위테스트
- 디자인패턴
- 안드로이드
- Observable
- Room
- rxjava
- ViewModel
- 자료구조
- Android
- Kotlin
- dagger2
- Today
- Total
세상을 바꾸는 개발자
[Android] 안드로이드 디자인패턴 3 - 2 MVP패턴 본문
안녕하세요! 헬창코딩입니다. 지난 시간에는 MVC패턴에 대해서 알아봤는데요
이번 시간에는 MVP패턴에 대해서 한번 알아보도록 하겠습니다.
MVC 패턴은 Model, View, Controller로 이루어져 있다면
MVP 패턴은 Presenter라는 새로운 녀석이 등장합니다.
그 이유는 MVC 모델의 단점인 뷰와 모델에 의존적이 의존적이라는 것을 해결하기 위해서 추가되었습니다.
Presenter란 무엇일까요??
Presenter는 이전 시간에 나왔던 Controller와 비슷하다고 생각하실 수 있지만 뷰에 직접 연결되는 것이 아니라
인터페이스로 연결이 됩니다. 그렇기 때문에 MVC 패턴에서 문제가 되었던 결합도가 높고 유닛 테스트를 하기 힘든 단점을
보완할 수 있습니다. 또한 Presenter는 View와 Model의 인스턴스를 가지며 이 둘을 연결해 주는 역할을 하므로
Presenter와 view는 1:1 관계를 갖습니다.
나머지 Model과 View에 대해서는 이전 게시물을 참고해주세요~
https://healthcoding.tistory.com/12
MVP 패턴의 장점
위에서 말씀드렸던 것과 같이 MVP패턴은 View와 Model 간의 의존성이 없고 , UI와 비즈니스 로직을 분리해
유닛 테스트가 수월합니다.
MVP 패턴의 단점
View와 Presenter 간의 의존성이 높고 1:1 관계를 유지해야 하고 Presenter를 재사용할 수 없어, View가 늘어날 때마다
Presenter도 같이 늘어나 클래스가 많아집니다. 또한 애플리케이션의 기능이 추가될 수 록 Presenter가 거대해지는 단점이 있습니다.
MVP 기본적인 구조
오늘은 MVP 모델에 대해서 알아봤습니다.~ 다음에는 안드로이드 앱 개발 시 가장 많이 사용하는 MVVM 패턴에 대해 알아보겠습니다.
'안드로이드 > Design Pattern' 카테고리의 다른 글
Delegate Pattern - kotlin (by를 사용해서 쉽게) (1) | 2022.03.05 |
---|---|
[Android] 안드로이드 디자인패턴 3 - 3 MVVM패턴 (0) | 2021.07.12 |
[Android] 안드로이드 디자인패턴 3 - 1 MVC패턴 (0) | 2021.07.09 |
[Android] 안드로이드 설계원칙 (2) | 2021.07.07 |
[Android] 애플리케이션 앱설계와 원칙은? (0) | 2021.07.06 |