MVVM

ChungKyu Kim·2022년 5월 14일
0

TIL

목록 보기
51/52

MVC

저번에 정리 했던 MVC를 다시 정리하면,

  • model, view, controller 의 약자이다

model

  • model은 사용자가 편집할 모든 데이터를 갖고있다.
  • view, controller에 관해서 아무것도 아는게 없다.

view

  • model이 제공한 정보를 따로 저장하지 않는다.
  • view는 화면에 띄워주기만 한다.

controller

  • model, view에 대해 알고 있다.

정리 -> 액션이 들어오면 컨트롤러는 모델을 통해서 뷰에 전달한다!

사용자 요청 -> 컨트롤러가 모델을 호출한다 -> 요청받은 결과를 리턴한다 -> 컨트롤러는 모델이 리턴한 결과를 뷰에 전달 -> 뷰에 반영(그러나 컨트롤러는 뷰를 선택만 하고, 모델을 이용하여 반영한다(의존성이 높다))

MVVM

일단 Controller 대신 VM(view-model) 확인.

컨트롤러와 비슷한 역할을 한다.

뷰를 통해 액션이 들어옴 -> 뷰모델에 액션을 전달 -> 뷰모델은 모델에게 정보요청 -> 모델이 응답 -> 뷰모델은 응답받은 정보를 가공해 저장 -> 뷰가 뷰모델에 데이터바인딩

view
뷰는 뷰모델을 알고있다

viewmodel
뷰모델은 모델을 알고있다.

model
모델은 모델일뿐...

MVC
애플리케이션 진입 -> 컨트롤러
직관적이다
뷰와 모델의 의존성이 커서 오류를 찾거나 유지보수가 힘들어진다

MVVM
애플리케이션 진입 -> 뷰
커맨드패턴과 데이터바인딩을 이용해 의존성이 낮다.
데이터바인딩이 복잡해지면 디버깅프로세스가 어렵다.

profile
프리비엣!

0개의 댓글