본문 바로가기
면접을 위한 CS 전공지식 노트/1장 디자인 패턴과 프로그래밍 패러다임

MVP 패턴

by ㄴㅇㄹㅇㄹㅇㄹㄴㅇㄹ 2024. 9. 10.

 

MVP 패턴

MVC 패턴으로부터 파생되었으며 MVC에서 컨트롤러가 프레젠터로 교체된 패턴

모델 (Model), 뷰(View), 프레젠터(Presenter)로 구성

모델 Model

  • **데이터(데이터베이스, 상수, 변수)**와 비즈니스 로직(처리 역할) 담당Presenter가 요청한 데이터를 제공하거나 업데이트
  • 데이터베이스에서 정보를 가져오거나 저장

View

  • 사용자 인터페이스 담당
  • ex) 버튼 클릭, 텍스트 입력 등

프레젠터 Presenter

  • view와 Model 사이에 중재자 역할
  • 사용자와 인터페이스의 이벤트를 감지하고, 비즈니스 로직 수행
  • Model과 상호작용하여 데이터를 가져오거나 업데이트하고, view에 데이터를 업데이트 하는 역할
  • view와 1 대 관계

◽ MVC 패턴과의 차이점

  • MVC 패턴과 다르게 UI(View)와 로직(Model)을 분리
  • 서로 간에 상호작용을 다른 객체에 그 역할을 줌으로써, 서로 영향(의존성)을 최소화
  • view와 presenter 가 독립적으로 동작하여 단위 테스트 작성이 쉽다.

◽ MVP 패턴 동작방식

MVP 패턴

MVC 패턴으로부터 파생되었으며 MVC에서 컨트롤러가 프레젠터로 교체된 패턴

모델 (Model), 뷰(View), 프레젠터(Presenter)로 구성

모델 Model

  • **데이터(데이터베이스, 상수, 변수)**와 비즈니스 로직(처리 역할) 담당Presenter가 요청한 데이터를 제공하거나 업데이트
  • 데이터베이스에서 정보를 가져오거나 저장

View

  • 사용자 인터페이스 담당
  • ex) 버튼 클릭, 텍스트 입력 등

프레젠터 Presenter

  • view와 Model 사이에 중재자 역할
  • 사용자와 인터페이스의 이벤트를 감지하고, 비즈니스 로직 수행
  • Model과 상호작용하여 데이터를 가져오거나 업데이트하고, view에 데이터를 업데이트 하는 역할
  • view와 1 대 관계

◽ MVC 패턴과의 차이점

  • MVC 패턴과 다르게 UI(View)와 로직(Model)을 분리
  • 서로 간에 상호작용을 다른 객체에 그 역할을 줌으로써, 서로 영향(의존성)을 최소화
  • view와 presenter 가 독립적으로 동작하여 단위 테스트 작성이 쉽다.

◽ MVP 패턴 동작방식

◽ MVP 패턴의 장단점

  • 장점
    • view와 Model 사이의 의존성 X → 결합도 낮춤
    • 코드 재사용성과 확장성이 증가
  • 단점
    • View와 Presenter 사이의 의존성이 높은 단점 → 앱 복잡해질수록 view와 Presenter 사이의 의존성 증가
    • View와 Presenter는 1대 1 관계 이므로 presenter 재사용 x

◽ MVP 패턴의 장단점

  • 장점
    • view와 Model 사이의 의존성 X → 결합도 낮춤
    • 코드 재사용성과 확장성이 증가
  • 단점
    • View와 Presenter 사이의 의존성이 높은 단점 → 앱 복잡해질수록 view와 Presenter 사이의 의존성 증가
    • View와 Presenter는 1대 1 관계 이므로 presenter 재사용 x

'면접을 위한 CS 전공지식 노트 > 1장 디자인 패턴과 프로그래밍 패러다임' 카테고리의 다른 글

MVC 패턴  (1) 2024.09.06
옵저버패턴  (4) 2024.09.06
MVVM 패턴  (0) 2024.09.05
전략 패턴  (0) 2024.09.05