iOS

MVVM-1

@서비 2022. 3. 18. 01:12

- MVVM의 목적

 

 

비지니스 로직과 프레젠테이션 로직을 분리 하는 것이다.

View 를 수동적으로 만듬으로써 Gui 를 테스트 할 수 있다.

 

View 는 ViewModel 로부터 데이터를 가져오지 않는다.

View 는 ViewModel 에서 자기자신을 업데이트 할 책임이 없다

View 는 자신의 state 가 있고 ViewModel 이 이를 컨트롤 한다.

 

 

 

- MVVM 패턴

 

아래와 같은 형태로 종속성을 가진다.

MVVM 종속성 화면

데이터의 흐름은 아래와 같다.

 

MVVM 데이터 흐름 화면

 

 

- ViewModel

UI동작 및 상태를 관리 한다.

사용자 입력을 비지니스 로직과 데이터에 따라 해석 한다.

model의 data를 사용자에게 보여줄 준비를 한다.

 

ViewModel 은 UI frameworks 와는 독립적으로 사용한다.

 

 

- View

UI를 렌더링 합니다.

애니메이션을 수행 합니다.

사용자 상화 반응을 ViewModel에 전달 합니다.

 

 

- Model

모델은 우리가 생각 하는 데이터라고 보면 된다.

 

 

 

여기서 부터는 Observable 과 FRP 와 SwiftUI와 Combine 와 RXSwift 로 이어지는 최신 코드들에 대한 학습이 필요하고 그런 것들과 의 디자인 패턴의 조합이 좋다. 너무 많은 내용을 담다 보면 혼란스러우므로 이쯤에서 1편을 마무리 하고 다음에 적는게 좋을 거 같다