MVP 패턴 다이어그램

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가 존재하기 때문에 스파게티 코드가 될 수 있다

복사했습니다!