본문

[2017.11.26] 26. MVVM 패턴 개념 1

도입

이번 포스팅에서는 MVVM의 개념을 알아볼 예정이다.

MVVM과 같은 패턴 공부를 하는 이유

1) 음악 플레이어 프로젝트를 진행하며 수시로 코드를 수정해야할 일이 생겼고 1가지 기능을 수정하기 위해서는 여러 코드를 변경해야했다.(설계를 잘하지 못했기 때문일 것이다.)

2) 객체에 의존성 때문에 인터페이스를 추가하거나 코드를 전체 변경해야하는 일이 생기기도 했다.

이러한 이유로 패턴 공부를 하고 있고 이번에는 MVVM 패턴을 공부할 예정이다.


개념

(출처 - https://en.wikipedia.org/wiki/Model–view–viewmodel)

MVVM 패턴은

GUI 코드(UI)를 백엔드나 비즈니스 로직 개발로부터 분리를 수월하게 한다. MVVM은 Model, View, ViewModel로 나뉘며 서로의 관계는 다음과 같다.

View, ViewModel, Model에 대해서는 Realm 공식 사이트에 잘 정리되어 있어 가져왔다.

(출처 - https://academy.realm.io/posts/eric-maxwell-mvc-mvp-and-mvvm-on-android/)


나의 생각

구분

의미와 역할

Model

 데이터 표현하는 코드

View

 사용자와 Interaction하는 UI 코드

ViewModel

 Model를 다루기 쉽고 표현하기 쉽게 가공하는 코드

MVVM에서 핵심은 View와 ViewModel를 DataBinding을 통해 의존성을 없애는 것이라고 생각한다.

DataBinding은 추후 정리 할 예정이다.



#MVVM #MVVM 개념 #MVVM이란 #MVVM 패턴 #면접

공유

댓글