일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- Java
- BFS
- EC2
- 누적합
- Pirogramming
- GROUPBY
- OrderBy
- 배포
- Database
- django
- db
- 프림
- 다익스트라
- Baekjoon
- 구현
- 피로그래밍
- 알고리즘
- SQL코딩테스트
- MST
- 자바
- SQL
- 프로그래머스
- 크루스칼
- union find
- 백준
- JOIN
- 코딩테스트
- 최단경로
- AWS
- 그래프 탐색
Archives
- Today
- Total
NullNull
Vue.js와 MVVM 본문
Vue.js의 특징
- Angular와 React의 장점들을 모두 결합한 프레임워크이다.
- Angular의 양방향 데이터 바인딩과 React의 단방향 데이터 흐름의 장점을 모두 결합했다.
- 양방향 데이터 바인딩 : 화면에 표시되는 값과 프레임워크의 모델 데이터 값이 동기화되어 한쪽이 변경되면 다른 한쪽도 자동으로 변경되는 것
- 단방향 데이터 흐름 : 컴포넌트의 단방향 통신. 컴포넌트 간에 데이터를 전달할 때 항상 상위 컴포넌트에서 하위 컴포넌트 한 방향으로만 전달하게끔 프레임워크가 구조화 되어 있음.
Vue.js 와 MVVM
MVVM : Model + View + ViewModel
구성 요소
- Model : 순수 자바스크립트 객체
- View : 웹페이지의 DOM. 사용자에게 보여지는 화면
- ViewModel : View와 Model의 중간 영역. 돔 리스너와 데이터 바인딩을 제공하는 영역
- 기존에는 자바스크립트로 View에 해당하는 DOM에 접근하거나 수정하기 위해 jQuery와 같은 library 이용
- Vue는 View와 Model을 연결하고 자동으로 바인딩하므로 양방향 통신을 가능하게 함
동작 원리
- View에 입력이 들어오면 Command 패턴으로 ViewModel에게 명령
- ViewModel이 데이터를 Model에게 요청
- Model이 ViewModel에 응답
- ViewModel은 응답 받은 데이터를 가공해 저장
- View는 ViewModel과의 Data Binding으로 자동 갱신
Command 패턴
- 객체의 행위(메서드)를 클래스로 만들어 캡슐화하는 디자인 패턴
Data Binding
- Model의 데이터와 View에 표시되는 내용을 동기화 하는 것
MVVM 패턴의 장점
- 코드의 중복을 줄일 수 있음
- 반응형 UX 개발에 편리
- 요청에 대한 대답을 기다리지 않아도 됨
- 모듈화하여 개발할 수 있음 (Model, View, ViewModel 각 구조가 독립적)
Comments