MVVM 기초
Design Pattern
어떤 목적을 달성하기 위한 효율적인 패턴. 유지보수하기 쉽게 해준다. 코드 구조에 대한 전략
디자인 패턴의 목적 :
- 기술 부채 최소화
- 재사용 및 지속 가능한 코드 만들기
클린 아키텍처, 디자인 패턴 이라는 용어로 통용 된다.
MVVM
Model -View - ViewModel
과거에는 MVC(Model - View - Controller) 패턴이 많이 사용되었다.
MVC
- Model : 데이터 (Struct)
- View : UI 요소 (UIView)
- Controller : 중계자 (UIViewController) Model 과 View 사이에 중계자 역할
중계자인 UVIewConroller 가 비대해지기 시작했다. 결합도가 커지기 시작함.
MVVM
- Model : 데이터 (Struct)
- View : UI 요소 UIView, UIViewConroller
- ViewModel : 중계자
ViewConroller 가 Model 에 직접 접근하지 못한다. ViewModel 이라는 클래스로 Model에 접근할 수 있게 함.
결국 MVVM 에서 하려는 것은 UIViewConroller 에 비중을 축소 시켜서 책임을 ViewModel 에 위임하고, 결과적으로 결합도를 낮추려는 것이다. → 명확한 책임을 갖게 된다.