디자인 패턴이란 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이다. 소스나 코드로 바로 사용 가능한 완성된 디자인이 아닌 상황에 맞게 사용되어 문제를 해결하는데 쓰이는 서술이나 템플릿이다.
비즈니스 로직과 프레즌테이션 로직을 UI로부터 분리하여 테스트, 유지 보수, 재사용을 용이하게 한다
MVVM(model-view-viewmodel)은 이름과 같이 3가지의 구성요소로 구성되어 있다.
각각의 컴포넌트는 서로 reference
를 갖지 않고, view->viewmodel->model 형태의 단방향 dependency를 갖는다.
UI에 관련 된 것!
사용자가 스크린을 통해서 보게 되는 구조, 레이아웃, 형태를 정의한다.
비즈니스 로직은 들어가지 않는다.
뷰가 사용할 메서드와 필드를 구분하고, 뷰에게 상태 변화를 알린다. 뷰는 이 기능을 어떻게 보여줄 것인가 정한다.
뷰 모델과 모델은 1-N 관계를 형성한다. 뷰 모델은 N개의 모델의 데이터를 가공하고 뷰에게 제공한다.
앱에서 사용될 데이터에 관련된 행위와 데이터를 다룬다.