Closed
Description
MVVM
- Model - View - ViewModel 형식
- View와 Model을 명확하게 분리해서 사용하기 위해 사용
- Model의 모든 변화를 View가 파악하고 UI 업데이트를 할 수 있어야함
- ViewModel을 통해 UI와 비지니스 로직을 분리
- MVC의 Controller 대신 ViewModel을 사용하며 MVC의 컨트롤러는 View로 취급됨
ViewModel
- UI와 비즈니스 로직을 분리하기 위해 사용
- Model을 참조하고 있음
- View로부터 변경사항을 받아 Model을 업데이트함
- Model이 변경되면 View에 반영함
- Interpreter(통역사, 중간다리)의 역할을 담당함
- view의 변경 사항을 직접 알리지 않고 변경 되었다고 Publish만 함
View
- ViewController를 View로 취급
- 모든 비즈니스 로직이 viewModel에 들어있기 때문에 View와 ViewController에 관련된 코드가 줄어듦
- ViewModel을 참조하고 있음
- View는 ViewModel이 Publish한 내용을 Subscribe하고 Observe함
Model
- View와 독립적
- UIKit, SwiftUI 등을 import 하지 않음
- Model이 변경되었을 때 ViewModel에게 변경된 사싱르 알려줌
Metadata
Metadata
Assignees
Labels
No labels