디자인 패턴 2

Yedam Lee·2023년 1월 1일
0

MVP 패턴

모델-뷰-프리젠터(model-view-presenter, MVP)는 모델-뷰-컨트롤러(MVC) 아키텍처 패턴의 파생 패턴으로,사용자 인터페이스를 개발하기 위해 대부분 사용된다.

MVP 패턴의 구조

출처: MVP - wikipedia

📂 모델 [Model]

모델(model)이란 어플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분입니다.

모델 특징

  • View 또는 Presenter 등 다른 어떤 요소에도 의존적이지 않은 독립적인 영역.
  • 데이터 구조 표현 및 데이터의 전달과 처리를 담당하는 영역으로 이루어져 있음.

🖥 뷰 [View]

뷰(View)란 사용자 인터페이스 요소를 나타냅니다.

뷰 특징

  • 생성된 UI 관련 이벤트들을 Presenter (프레젠터) 단에 전달.
  • Model에서 처리된 데이터를 Presenter를 통해 전달받아서 유저에게 보여줌.
  • Presenter를 이용하여 데이터를 주고받기 때문에 Presenter에 매우 의존적임.

📢 프리젠터 [Presenter]

프리젠터(Presenter)란 View에서 요청한 정보로 Model을 가공하여 View에 전달해 주는 매개체입니다.

프리젠터 특징

  • Presenter와 View는 1:1 관계.
  • 모델 및 데이터 변경상황에 맞게 View 에 데이터를 제공.

🏅 장점과 한계

장점
MVC 패턴과 다르게 Model과 View의 의존성이 없다는 것입니다.
Model과 View의 결합도를 낮추면, 새로운 기능 추가 및 변경을 할때 마다 관련된 부분만 코드를 수정하면 되기 때문에 확장성이 개선됩니다.
한계
어플리케이션이 복잡해질수록 View와 Presenter 사이의 의존성이 강해지는 문제가 있습니다.

profile
프론트엔드 개발자

0개의 댓글