Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
| 31 |
Tags
- AOS
- deque
- 1715
- 1759
- 라이징프로그래머2 #Android #안드로이드 #Quitter #MakeUs
- 파이팅
- Algorithm
- 해커랭크
- 파이썬
- 1697
- 백준
- BFS
- python #7490 #백준 #알고리즘 #BFS
- 디자인패턴
- 1302
- 최소힙
- 안드로이드
- 알고리즘
- 올바른 괄호
- level3
- Heap
- MVC
- 12865
- CS
- Python
- REST API
- 백준 #알고리즘 # Algorithm #파이썬
- 프로그래머스
- 2941
- 1766
Archives
Liam 일지
MVP 패턴이란? 본문
728x90
MVP패턴
MVP 패턴은 Model과 VIew가 상호 의존적인 MVC 패턴의 단점을 보완하기 위해 MVC 패턴에서 파생되어 나온 패턴이며, Model, View, Presenter를 거쳐 상호 동작할 수 있다는 것이 특징이다. 핵심은 MVC와는 다르게 UI(View)와 비즈니스 로직(Model)을 분리하고, 서로 간에 상호작용을 다른 객체(Presenter)에 그 역할을 줌으로 써 서로의 영향(의존성)을 최소화 하는것에 있습니다.

MVP의 특징
- Model
- 프로그램 내부적으로 쓰이는 데이터를 저장하고, 처리하는 역할을 한다.
- VIew 또는 Presenter 등 다른 어떤 요소에도 의존적이지 않은 독립적인 영역이다.
- View
- UI를 담당하며 안드로이드에서는 Activity, Fragment가 대표적인 예.
- Model에서 처리된 데이터를 Presenter를 통해 받아서 유저에게 보여준다.
- 유저 액선 및 액티비티 LifeCycle 상태 변경을 주시하며 Presenter에 보내는 역할을 한다.
- Presenter를 이용해 데이터를 주고받기 때문에 Presenter에 매우 의존적이다.
- Presenter
- Model과 VIew 사이의 매개체.
- 모델과 뷰를 매개체라는 점에서 Controller와 유사하지만, View에 직접 연결되는 대신 인터페이스를 통해 상호작용한다는 점이 다르다.
- 인터페이스를 통해 상호작용하므로 MVC가 가진 테스트 문제와 함께 모듈화/유연성문제 역시 해결할 수 있다.
- 뷰에게 표시할 내용(Data)만 전달하며 어떻게 보여줄지는 View가 담당한다.
MVP의 장점
MVC와는 다르게 VIew와 Model간에 의존성이 없다는 것이다. 이유는 Presenter를 통해서만 데이터를 전달받기 때문이다.
MVP의 단점
MVC패턴의 단점인 VIew와 Model 사이의 의존성은 해결되었지만, VIew와 Presenter 사이의 의존성이 높아지는 단점이 있습니다. 이또한 앱이 복잡해질수록 View와 Presenter사이의 의존성이 강해지는 단점이 있습니다.
다음 포스팅에서는 MVVM패턴에 대해서 정리해보도록 하겠습니다.
참고 자료:
'Android' 카테고리의 다른 글
| 안드로이드 4대 Component (0) | 2021.05.13 |
|---|---|
| MVVM 패턴이란? (0) | 2021.05.04 |
| MVC 패턴이란? (0) | 2021.05.03 |