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) 제공 |
반응형