[ swift - MVVM ]

Yr Yr·2024년 2월 2일
0

TIL

목록 보기
34/39
post-thumbnail

MVVM(Model - View - ViewModel)

- Model : 애플리케이션의 데이터, 네트워크 로직, 비즈니스 로직을 담는다. 데이터가 어떻게 보여질 것인가에 대해서는 고려하지 않는다.

- View : 화면에 보이는 모든 것들에 대한 내용을 다룬다. ViewModel로부터 데이터를 가져온다.

- ViewModel : View로부터 전달받은 요청을 처리할 로직을 담는다. Model이 변경되면 View에게 알린다.

✔️ 동작 흐름

  • View에 들어온 이벤트를 ViewModel에 알려주면 ViewModel은 Model을 업데이트시킨다.
  • Model이 변경되면 ViewModel에 알려지고 ViewModel과 바인딩되어있는 View가 업데이트된다.

✔️ 장점

  • UI와 비즈니스 로직이 분리되었기에 ViewModel에 대한 단위테스트 작성이 간단하다.
  • ViewModel을 재사용할 수 있다.
    ✔️ 단점
  • 작은 프로젝트에서는 설계하기가 어려울 수 있다.
  • 데이터 바인딩이 필수적으로 요구된다.
    * 데이터 바인딩: View와 ViewModel 사이를 연결하는 프로세스

0개의 댓글