• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

MVVM 적용

22.01.19 15:43 작성 조회수 235

1

좋은 강의 감사합니다! ^^

끝장강좌까지 수강 후 전체 복습을 진행중입니다.

MVVM패턴과 배운 것들을 연결해서 공부를 하고 있습니다. 뭔가 정확하게 이해가 되지 않아 질문 드립니다.

우선 제가 이해한 MVVM에서 View는 화면을 그려주고,  ViewModel('value convert'라고 표현을 하던데)에서는 MVC나 MVP에서 Controller와 Presenter와는 다르게 값을 변경만 해주고 View에서 알아서 변경된 값을 (표현상)보고 있다가 화면을 바꿔준다. 그리고 Model은 비즈니스 로직과 데이터를 가지고 있다라고 이해했습니다.

질문 드리겠습니다.

1. template단에 있는 걸 View라고 생각하면 되는지?

2. 가장 헷갈리는 부분입니다.

ViewModel에서 값을 바꿔주면, Model에서 하는 비즈니스로직이라는 건 어떤 걸 말하는지?

3. 2번과 중복될 수 있습니다.

그러면 computed, methods는 ViewModel인지 Model인지?

질문이 좀 긴 것 같습니다. 죄송합니다ㅠㅠ 당분간 계속 질문 드릴 것 같습니다 ㅠㅠ

 

답변 1

답변을 작성해보세요.

1

안녕하세요 js be님, 답변 드릴게요.

1. template단에 있는 걸 View라고 생각하면 되는지?

답변) 네 그렇게 보셔도 될 것 같아요.

2. 가장 헷갈리는 부분입니다.

ViewModel에서 값을 바꿔주면, Model에서 하는 비즈니스로직이라는 건 어떤 걸 말하는지?

답변) Vue.js가 MVVM 패턴에서 기인한 것은 맞지만 해당 모델을 그대로 따라하여 구현되어 있진 않습니다. 이와는 별개로 MVVM 패턴의 Model에서 말하는 비즈니스 로직은 보통 화면에 표현하기 위해 가공되는 로직을 의미할 것 같아요. 패턴이 있긴 하지만 설계자의 의도에 따라서 다를 수 있기 때문에 정확하게 뭐가 답이다 라고 말씀 드리기는 어려울 것 같습니다.

3. 2번과 중복될 수 있습니다.

그러면 computed, methods는 ViewModel인지 Model인지?

답변) 두 속성을 어느 레이어에 있다고 말씀 드리기가 어려울 것 같네요.