본문 바로가기
Personal Study

[MVVM] MVVM 패턴이란? : MVVM 패턴 요약

by 명훈스토리 2023. 2. 19.
SMALL

MVVM(Model-View-ViewModel) 패턴은 안드로이드 애플리케이션에서 사용되는 소프트웨어 아키텍처 패턴이다.

 

이 패턴은 사용자 인터페이스와 비즈니스 로직 간의 결합을 제거하고 소프트웨어 구성 요소 간의 역할을 분리하여 코드의 유지 보수성을 높이고 유연성을 확보할 수 있다.

안드로이드에서 MVVM 아키텍처 패턴은 다음과 같이 구성된다.

Model: 비즈니스 로직 및 데이터를 처리하는 역할을 한다. 이 계층에서는 데이터를 가져오고 수정하고 저장한다.

View: 사용자 인터페이스를 나타내는 계층이다. 사용자가 앱에서 볼 수 있는 모든 것(레이아웃, 위젯 등)을 포함한다.

ViewModel: Model과 View 간의 매개체 역할을 한다. 이 계층에서는 Model에서 가져온 데이터를 가공하여 View에 전달한다. 또한 View에서 사용자 상호작용 이벤트를 수신하고, 그 이벤트에 대한 적절한 응답을 Model에 요청하여 처리한다.

이러한 각 계층은 다음과 같은 책임을 지닌다.

Model: 비즈니스 로직 및 데이터 처리
View: 사용자 인터페이스의 표현 및 사용자 상호작용 이벤트 처리
ViewModel: View와 Model 간의 상호작용 처리 및 뷰에 데이터 전달


MVVM 아키텍처에서는 각 계층이 서로 분리되어 있으며, 의존성 주입을 사용하여 각 계층이 서로에게 종속되지 않도록 한다. ViewModel은 View에 대해 알고 있지만, View는 ViewModel에 대해 알지 못한다. 이렇게 함으로써 코드의 유연성과 유지 보수성이 향상된다.

ViewModel은 또한 Android Architecture Components 라이브러리의 LiveData 및 DataBinding과 같은 Android Jetpack 라이브러리와 함께 사용된다. LiveData를 사용하면 ViewModel에서 View로 데이터를 전달할 수 있으며, DataBinding은 View에서 ViewModel의 데이터를 레이아웃에 직접 바인딩할 수 있습니다. 이로 인해 코드 양이 줄어들고, 코드의 가독성과 유지 보수성이 향상됩니다.

LIST

댓글