
정의
Model + View + Presenter
목적 및 특징
Controller 대신 Presenter가 존재
- Presenter는 View와 Model의 인스턴스를 가지고 있어 둘을 연결하는 접착제 역할
- Presenter와 View는 1:1 관계
- Presenter는 Model과 View를 매개체라는 점에서 Controller와 유사하지만,
View에 직접 연결되는 대신 인터페이스를 통해 상호작용한다는 차이가 있음.
예시
- View로 요청이 들어온다.
- View는 Presenter에게 데이터를 요청한다.
- Presenter는 Model에게 데이터를 요청한다.
- Model은 Presenter에게 데이터를 반환한다.
- Presenter는 View에게 데이터를 반환한다.
- View는 Presenter가 반환한 데이터로 화면을 출력한다.
장점
- View와 Model의 의존성이 없다.
- MVC 패턴의 단점이었던 View와 Model의 의존성을 해결
- 테스트 문제와 함께 모듈화/유연성 문제 역시 해결
단점
- View와 Presenter 사이의 높은 의존성