

MVC의 단점인 Controller의 처리량 단점을 보완하기 위해 만들어짐.
(View와 Model 사이의 의존성이 높다는 점)
MVP 패턴은 MVC 패턴과 유사합니다.
MVC 패턴에서 파생된 것으로 컨트롤러(Controller)가 프리젠터(Presenter)로 대체됩니다.
이 패턴은 애플리케이션을 View, Presenter, Model의 세 가지 주요 측면으로 나눕니다.
View
사용자가 보는 영역
Presenter
로직 처리
- 뷰와 모델 사이에서 데이터 전달
[유저가 전화주문을 했을 시 View에 보일 Data(전화주문)을 갱신 요청]
- Input, Ouput
- 화면에 보여질 View를 관리함
- Ui의 영향을 끼치지 않음
Model
사용자가 전화주문 시 화면을 통해 일시적으로 바뀌는 값 (전화주문, 중식당, 초밥)
변수, 값들을 저장해두는 곳 모여두는 곳
- Presenter에서 값을 호출하게 되면 데이터를 전달
[사용자에 행동에 의해 값이 변화하는 것을 저장하는 공간]
요약
1. 유저가 화면(View)에 보이는 음식을 주문한다
2. 주문 버튼을 클릭 했을 시 클릭 이벤트를 Presenter에게 전달
3. 주문현황이 변경 됨에 따라 Presenter에서 Model에게 데이터 변경을 요청
4. Model에 변수, 값들이 변경 된 값을 Presenter로 반환
5. Presenter를 통해 주문이 완료 됨을 유저 화면에 보이게 함
장점
MVC에 단점인 의존성을 해결하고 모듈화가 가능하다
단점
모든 View에 Presenter가 존재하기 때문에 스파게티 코드가 될 수 있다
'Computer Science🔎' 카테고리의 다른 글
[CS] 네트워크 통신 @GET, @POST 차이 (0) | 2022.06.28 |
---|---|
[CS] 오픈 소스와 오픈 API (0) | 2022.06.11 |
[CS] 동기, 비동기 특징 및 차이점 (0) | 2022.06.03 |
[CS] Override, Overload 차이점 (0) | 2022.05.28 |