1.모델(Model)
2.View
3.View Model
뷰는 뷰 모델을 알지만, 뷰 모델은 뷰를 알지 못함.
뷰 모델은 모델을 알지만, 모델은 뷰 모델을 알지 못함.
-> 뷰 모델과 모델이 뷰로부터 독립적인 형태
=> UI로 부터 비즈니스 로직과 프레젠테이션 로직 분리 가능
1. View
- UI에 관련된 것 (애니메이션과 같은 UI 로직은 포함하되, 데이터 생성과 같은 비즈니스 로직은 포함 X)
- UI와 UI로직을 다룸
2. View Model
- 뷰가 사용한 베서드와 필드 구현
- 뷰에게 상태변화 알림
- 뷰모델과 모델은 일대다 관계 형성
- 뷰 모델은 뷰가 쉽게 사용할 수 있도록 모델의 데이터를 가공해서 뷰에게 제공
- 프레젠테이션로직과 뷰를 위한 상태를 다룸
3. Model
- 앱에서 사용할 데이터에 관련된 행외와 데이터를 다룸
- 비즈니스 로직과 데이터를 다룸
MVVM 장점
- 모델과 뷰모델이 뷰로 부터 독립적이다. -> 뷰 모델과 모델을 독립적으로 개발 가능
- 개발 기간 동안 개발자와 디자이너가 독립적, 병렬적으로 작업 가능
- 변화 대응에 용이하다
MVVM 단점
- 거대하고 복잡한 앱을 위해 고안됨
- 소형 앱에서 사용하게 되면 오버헤드 커짐
'Vue.js' 카테고리의 다른 글
vue의 상태관리 vuex (0) | 2022.07.27 |
---|