지금까지 몇가지 앱을 만들어봤는데 항상
하는 방식으로 코드를 작성하였다.
이러한 패턴을 MVC(Model-View-Controller) 패턴 이라고 한다.

이러한 방식은 구현도 간단하고 여러 장점도 가지고 있지만
컨트롤러의 역할이 커지게 되고, 컨트롤러 관련 코드를 Activity/Fragment에 작성하게 되면서 코드가 길어져 가독성이 나빠져 불편함을 느끼고 있었다.
MVC 패턴의 한계를 극복하고, 코드의 구조를 더 명확하게 분리하기 위한 다양한 패턴들이 연구되었고 그중 하나가 MVVM(Model - View - ViewModel) 패턴이다.

위의 구성요소의 사용법은 MVVM 패턴 시리즈로 학습하여 사용법을 익히고 정리해두었다.
MVVM 패턴은 데이터 처리 (Model), 화면 표시 (View), 그리고 사용자 인터페이스와 상호작용하는 로직 (ViewModel)을 분리하여 각 부분의 역할이 명확히 구분되어 코드의 유지보수성이 높아지고, 코드를 이해하기 쉽게 해준다.
데이터 바인딩을 사용하여 데이터와 UI 요소가 자동으로 동기화되어 UI 업데이트를 간편하게 만들어준다. 이는 코드의 반복 작성을 줄이고 실수를 방지시켜준다.
ViewModel은 수명 주기를 고려하여 데이터를 관리하므로 Activity나 Fragment가 재생성되더라도 데이터가 유지된다. 이는 메모리 누수를 방지하고 애플리케이션의 안정성을 높여준다.
MVVM 패턴은 Android 애플리케이션 개발에서 자주 사용하는 아키텍처 패턴이다.
앞으로는 MVVM 패턴을 사용해 코드를 작성해 해당 패턴 사용에 익숙해지려고 한다.