VUE는 MVVM 패턴을 이용합니다. 이중 VM(ViewModel)계층에 집중한 프레임워크입니다.
따라서 MVVM 패턴 및 MVC, MVP패턴을 간단히 알아보고 vue에서의 MVVM에 대하여 알아보도록 하겠습니다.
뷰가 특정 모델에 종속되지 않도록 모델(로직)을 분리한 패턴입니다.
간단히 뷰와 모델, 뷰모델을 분리하여 독립적인 개발을 할 수 있도록하여, 테스트, 유지 보수, 재사용성을 높인 패턴입니다.
Command패턴과 Data Binding을 통해 의존을 제거했습니다.
Command패턴은 객체의 메서드를 클래스로 캡슐화하는 패턴으로 A객체의 메서드를 B가 사용할 경우 A를 참조하는 의존성을 제거합니다.
(인터페이스를 통한 필수 구현 요소정의 -> 이를 구현한 기능 분리된 클래스(생성자로 객체를 받음) -> 객체 구현 => 사용! )
이는 뷰에서 필요한 메서드, 필드등을 모듈화하여 독립적으로 구현할 수 있도록 합니다.
Data Binding은 뜻 그대로 VIEW에서 사용할 데이터 및 뷰모델의 기능 등을 결합해주는 것입니다.
ACTION --> V -(action 전달)-> VM -(데이터 요청, 데이터 변경 요청)-> M -(응답)-> VM -(Data Binding)-> V
VUE는 ViewModel계층에 집중한 프레임워크입니다. 뷰 모델을 통해 뷰 계층을 좀 더 간단하고 유연하게 개발하게 해줍니다.
1. 뷰모델을 통해서 양방향 데이터 바인딩을 가능하게 합니다
2. 컴포넌트 간 통신은 기본으로 단방향 데이터흐름으로 합니다.