[iOS] MVVM

Eugenie·2022년 7월 20일
0

[iOS] Architecture

목록 보기
5/5

MVVM [ Model View ViewModel ]

MVVM 패턴은 MVC 와 마찬가지로
애플리케이션 개발에 주로 사용되는 디자인 패턴이다.

MVC 와 다르게 Controller 가 아닌 ViewModel 계층을 가지고 있다.
ViewModel 또한 Controller 처럼
View 와 Model 사이의 중간 역할을 하고 있다.

Model

데이터 구조를 정의하고 ViewModel 에게 결과를 알려준다.
Model 은 View 와 이어지지 않는다.

View

View 는 사용자와의 상호작용을 통해
이벤트가 일어나면 ViewModel 에게 알려주며
ViewModel 이 업데이트 요청한 데이터를 보여준다.

ViewModel

ViewModel 은 사용자의 상호작용을 View 가 보내주면
그에 맞는 이벤트를 처리하고
Model 의 Read, Update, Delete 를 담당한다.

기존의 View 는 유저 인터페이스를 표시하기 위한 로직만을 담당하고
그 외에는 메소드 호출정도만 있는게 이상적이다.

ViewModel 은 기존의 UIKit 를 import 할 필요도 없이
데이터 업데이트 및 뷰 요소를 업데이트 한다.

Pros and Cons of MVVM pattern

View-Model-ViewModel 모두 독립적으로 테스트가 가능하다는 장점이 있다.
하지만 설계가 어렵고 뷰에 대한 처리가 복잡해질 경우
뷰 모델도 거대해진다는 단점이 있다.


📚 Reference
swift MVVM 정리 및 예제
iOS 개발 - MVVM 패턴이란? UIKit 의 MVC와의 비교

profile
🌱 iOS developer

0개의 댓글