2024.01.09(화) TIL

quinones·2024년 1월 9일

MVC VS MVVM 둘의 장단점에 대한 내용이다.

MVC

  • Model : 데이터를 저장 및 가공
  • View : Model이 갖고 있는 데이터를 시각화하여 표현
  • Controller : Model과 View모두에게 관여하며, Model을 통해 데이터를 제어하고, 데이터가 변경될때마다 View를 업데이트

흐름

  1. 사용자의 액션은 Activity/Fragment가 받음.
  2. Activity/Fragment는 이를 확인하고 필요하다면 Model에 업데이트
  3. Model로부터 전달받은 데이터를 통해 View를 업데이트

    여기서 View를 나타내는 Activity/Fragment가 Controller의 역할까지 가지고있음.

MVC의 장단점

장점 - 굉장히 단순하고 직관적이다.
단점 - Controller규모가 커진다, 유지보수가 어려워진다.

MVVM

  • Model : 데이터를 관리
  • View : 화면에 데이터를 표시
  • ViewModel :Model에 데이터를 요청하고 UI를 위한 데이터를 가공.

흐름

  1. 사용자의 액션은 View가 받음
  2. 들어온 액션은 ViewModel로 전달되며, ViewModel은 Model에게 데이터를 요청
  3. Model은 ViewModel에게 요청받은 데이터를 전달하고
  4. ViewModel은 응답받은 데이터를 가공하고 저장
  5. View는 ViewModel를 관찰하고 변경된 데이터를 화면에 나타냄
profile
이우진

0개의 댓글