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 |