IT 기술/SW공학 & 프로젝트 관리

MVC, MVP, MVVM, MVI 디자인 패턴

gooooooood 2024. 7. 3. 10:33
반응형

Ⅰ. MVC 패턴

개념도
특징 - 컨트롤러가 입력을 받아 모델을 업데이트하고 뷰를 선택
- 컨트롤러는 뷰와 1:n 관계
- 모델과 뷰 사이의 의존성 문제 발생, 앱이 커지면 유지보수 어려움
구성 요소 - model: 데이터 처리 담당
- view: 모델을 화면에 표시, UI
- controller: 사용자 입력 받아 model 업데이트

 

Ⅱ. MVP 패턴

개념도
특징 - 모든 입력은 뷰로 전달, Presenter가 모델 업데이트
- Presenter가 뷰와 모델 사이 매개체 역할
- 뷰와 Presenter 의존성 문제
구성요소 - Model: 데이터 처리 담당
- View: 모델을 화면에 표시, UI
- Presenter: View와 Model의 매개체

 

Ⅲ. MVVM 패턴

개념도
특징 - ViewModel과 데이터 바인딩을 통해 View 업데이트
- 서로 간 의존성이 없음
구성요소 - Model: 데이터 처리 담당
- View: 모델을 화면에 표시, UI
- ViewModel: Model의 데이터를 View와 매핑해 데이터 바인딩

 

Ⅳ. MVI 패턴

개념도
특징 - 서로 간 의존성 없음
- 단방향 데이터 흐름으로 유지보수 용이
구성요소 - Model: 데이터 처리 담당
- View: 모델을 화면에 표시, UI
- Intent: 입력을 받아 Model에 처리 동작(Intended action) 제공
반응형