반응형
MVVM 패턴이란? (Model-View-ViewModel)
- 소프트웨어 아키텍처 패턴으로 그래픽 인터페이스(뷰)와 비즈니스 또는 백엔드 로직(모델)을 분리
- 뷰가 특정 모델에 종속되지 않음
- 뷰 모델은 뷰에 대한 참조를 하지 않고 뷰의 속성을 직접 연결(bind)
모델 (Model)
- 도메인 모델과 데이터 접근 계층을 참조하는 것
- 도메인 모델 : 실제 상태 내용을 표현 (객체 지향 접근법)
- 데이터 접근 계층 : 내용을 표현 (데이터 중심 접근법)
뷰 (View)
- 사용자가 화면에서 보여지는 구조, 배치, 외관을 의미
- 모델을 시각적으로 볼 수 있게 표현
- 사용자와 뷰의 상호 작용(클릭, 키보드 등)을 수신하여 데이터 바인딩을 통하여 뷰 모델로 전달
뷰 모델(View Mode)
- 공용 속성과 공용 명령을 노출하는 뷰에 대해 추상화 한 것
- 바인더(binder, 연결자)를 이용하여 뷰 모델에 있는 뷰에 연결된 속성과 뷰 사이의 통신을 자동화
- 모델에 있는 데이터 객체를 관리하고 모든 뷰들의 디스플레이 로직을 제외한 대부분의 것들을 처리
바인더 (Binder, 연결자)
- 뷰 모델과 뷰의 동기화를 해주는 것 (= 뷰와 뷰 모델에 대한 데이터 바인딩)
- 상용구 로직을 작성하는 번거로움을 줄여줌
- 상용구 로직 예시) Java class의 선언하는 코드들, C/C++의 #define ~, #include ~ 등
참고
- 위키백화 모델-뷰-뷰모델
https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%8D%B8-%EB%B7%B0-%EB%B7%B0%EB%AA%A8%EB%8D%B8
- 위키백과 상용구 로직
반응형