본문 바로가기
Design Patterns/MVVM

MVVM 아키텍쳐 적용하기

by 탄이. 2020. 6. 17.

MVVM 아키텍쳐 적용하기 어렵지 않아요~

1. class ViewModel 만들기

2. VC에 ViewModel 객체 만들기

3. VC에서 UI와 관련된 비지니스로직을 ViewModel로 옮긴다.

4. VC의 UI 처리 부분을 input과 output으로 나눈다.

5. input을 받으면 ViewModel로 넘겨주도록 observer를 선언해 놓는다.

6. ViewModel에서는 input에서 넘겨 받을 함수나 변수를 준비한다.

7. ViewModel에서 계산된 결과를 넘겨주면 받을 수 있도록 observer를 만든다.

8. 계산된 결과를 넘겨줄 Observable을 만든다.


ViewModel을 적용하고 나면 별거 없다는 것을 알게될 겁니다.

9. ViewModel의 계산된 결과를 VC에서 기다리고 있는 observer에게 subject를 통해 새로운 Observable을 만들어서 보낸다.

Viewmodel하고 VC의 중간 연결의 역할을 하는 것이 Subject(Relay)이다.

  • Subject의 초기값을 주고 싶을때에는 BehaviorSubject를 사용

ViewModel 을 좀 더 고급지게 만들어 봅시다.

10. VC의 input(textField)을 .bind() 를 통해 바로 ViewModel의 Subject로 넘겨준다.

11. ViewModel의 생성자에서 초기에 계산하기 수월한 작업을 하면서 생성할 수 있다.


서로 연결되도록 선언하는 코드만 있고 입력이 들어올때 취할 행동을 넣은 코드는 없다. (비지니스 로직 제외)
버그가 발생한다면 비지니스 로직만 보면 된다!

댓글