MVP 패턴

2024. 6. 7. 13:23면접을 위한 cs 전공지식 노트/디자인 패턴

MVP 패턴이란

 

MVP 패턴은 MVC 패턴으로부터 파생되었으며 MVC에서 C에 해당하는 컨트롤러가 프레젠터(Presenter)로 교체된 패턴이다.

 

 

View와 Presenter는 일대일 관계이기 때문에 MVC패턴보다 더 강한 결합을 지닌 디자인 패턴이다.

 

  • Model - 애플리케이션의 데이터인 데이터베이스, 상수, 변수 등을 뜻한다.
  • View - 모델을 기반으로 사용자가 볼 수 있는 화면을 뜻한다.
  • Presenter - Model과 View를 매개체로한다는 점에서 Controller와 유사하지만, View에 직접 연결되는 대신 인터페이스를 통해 상호작용 한다는 차이가 있다.

 

 

장점

 

  1. Model과 View의 결합도를 낮추면, 새로운 기능 추가 및 변경을 할 때마다 관련된 부분만 코드를 수정하면 되기 때문에 확장성이 개선된다.
  2. Presenter를 통해서 View와 비즈니스 로직에 관련한 코드들을 분리해서 관리할 수 있게 된다.
  3. 인터페이스를 통해 상호작용하므로 MVC가 가진 테스트 문제와 함께 모듈화/유연성 문제 역시 해결할 수 있다.

 

 

 

단점

 

  1. 애플리케이션이 복잡해질수록 View와 Presenter 사이의 의존성이 강해지는 문제가 있다.

 

'면접을 위한 cs 전공지식 노트 > 디자인 패턴' 카테고리의 다른 글

MVC 패턴  (0) 2024.06.05
노출 모듈 패턴  (0) 2024.06.04
이터레이터 패턴  (0) 2024.06.03
프록시 패턴과 프록시 서버  (0) 2024.05.31
옵저버 패턴  (0) 2024.05.30