-
[디자인패턴] MVVM 구조란?개발 여정/컴퓨터공학 일반 2022. 9. 22. 16:15
MVVM 모델
1. 구조
- Model : 어플리케이션에서 사용되는 데이터 및 그 데이터를 처리하는 부분
- View: 사용자에게 보여지는 화면
- View Model : View를 처리하기 위해 만든 모델
2. 목적
UI로부터 비즈니스 로직과 프레젠테이션 로직을 분리함
3. 동작 순서
- 사용자의 Action들이 View를 통해 들어온다.
- View는 이렇게 들어온 Action을 Command 패턴으로 View Model에 전달한다.
- View Model은 Model에게 데이터를 요청한다.
- Model은 View Model에게 요청받은 데이터를 반환한다.
- View Model은 응답 받은 데이터를 가공하여 저장한다.
- View는 View Model과 데이터 바인딩을 통해 화면을 나타낸다.
4. 장점
- View, View Model, Model이 모두 독립적 (의존성이 없음)
- 각각의 부분을 모듈화하여 개발 가능
- 개발 기간동안 개발자와 디자이너가 동시에 병렬적으로 작업할 수 있음 (예를 들어, View 디자인이 나오지 않았더라도 개발자는 Model과 View Model을 미리 개발할 수 있음)
- Model이 View와 상태 동기화되지 않기 때문에 예상치 못한 버그를 예방할 수 있음
5. 단점
- 규모가 큰 앱을 위해 만들어진 디자인 패턴이기 때문에 소형 앱에서 사용하면 오버헤드가 커짐
- 데이터 바인딩으로 인해 메모리 소모가 커짐
참조
https://beomy.tistory.com/43
https://velog.io/@k7120792/Model-View-ViewModel-Pattern'개발 여정 > 컴퓨터공학 일반' 카테고리의 다른 글
프록시 서버 (Proxy Server) (0) 2023.04.14 [자료구조] 단방향 연결 리스트 (Singly Linked Lists) (0) 2022.12.10 [Java] 객체지향 프로그래밍이란? (OOP, Object-Oriented Programming) (0) 2021.12.07 프로그래밍에서 '추상화'란? (0) 2021.12.01