iOS
MVVM-1
@서비
2022. 3. 18. 01:12
- MVVM의 목적
비지니스 로직과 프레젠테이션 로직을 분리 하는 것이다.
View 를 수동적으로 만듬으로써 Gui 를 테스트 할 수 있다.
View 는 ViewModel 로부터 데이터를 가져오지 않는다.
View 는 ViewModel 에서 자기자신을 업데이트 할 책임이 없다
View 는 자신의 state 가 있고 ViewModel 이 이를 컨트롤 한다.
- MVVM 패턴
아래와 같은 형태로 종속성을 가진다.
데이터의 흐름은 아래와 같다.
- ViewModel
UI동작 및 상태를 관리 한다.
사용자 입력을 비지니스 로직과 데이터에 따라 해석 한다.
model의 data를 사용자에게 보여줄 준비를 한다.
ViewModel 은 UI frameworks 와는 독립적으로 사용한다.
- View
UI를 렌더링 합니다.
애니메이션을 수행 합니다.
사용자 상화 반응을 ViewModel에 전달 합니다.
- Model
모델은 우리가 생각 하는 데이터라고 보면 된다.
여기서 부터는 Observable 과 FRP 와 SwiftUI와 Combine 와 RXSwift 로 이어지는 최신 코드들에 대한 학습이 필요하고 그런 것들과 의 디자인 패턴의 조합이 좋다. 너무 많은 내용을 담다 보면 혼란스러우므로 이쯤에서 1편을 마무리 하고 다음에 적는게 좋을 거 같다