본문 바로가기

앱 개발/Kotlin_Android

MVVM 패턴 사용 이유

 

- 명확한 역할 분리

  • Model: 데이터 소스 및 비즈니스 로직을 처리한다. 데이터베이스나 네트워크 통신과 같은 작업을 담당한다.
  • View: 사용자 인터페이스(UI)를 담당한다. 사용자 입력을 처리하고 데이터를 화면에 표시한다.
  • ViewModel: View와 Model 간의 중개자 역할을 하며 UI 관련 로직을 포함한다. 데이터 변화를 감지하여 View를 업데이트한다.

- 단위 테스트 용이성

  • View와 비즈니스 로직이 분리되어 있으므로 ViewModel과 Model을 쉽게 테스트할 수 있다. ViewModel은 안드로이드 프레임워크에 의존하지 않기 때문에 단위 테스트 작성이 용이하다.

- 유지보수 및 확장성

  • 코드가 잘 구조화되어 있어 유지보수가 용이하며, 새로운 기능을 추가할 때 기존 코드를 수정하지 않고 확장할 수 있다. 모듈화된 코드 구조로 인해 특정 부분의 변경이 다른 부분에 영향을 미치지 않는다.

- 코드 재사용성 증가

  • ViewModel과 Model의 로직은 여러 View에서 재사용할 수 있다. 동일한 ViewModel을 여러 Activity나 Fragment에서 사용할 수 있어 코드 재사용성이 높다.

- 데이터 바인딩을 통한 간결한 코드

  • 데이터 바인딩을 사용하면 UI 업데이트 로직을 간결하게 작성할 수 있다. XML 레이아웃 파일에서 직접 데이터를 바인딩하여 UI를 업데이트할 수 있다.

- 비동기 작업의 간소화

  • ViewModel에서 비동기 작업을 관리하여 UI 스레드와 백그라운드 스레드 간의 통신을 간소화할 수 있다. LiveData와 같은 데이터 홀더 클래스를 사용하여 UI 업데이트를 쉽게 처리할 수 있다.

- 라이프사이클 관리

  • ViewModel은 액티비티나 프래그먼트의 라이프사이클에 안전하게 통합된다. ViewModel 인스턴스는 화면 회전과 같은 구성 변경 시에도 유지되므로 상태를 안전하게 보존할 수 있다.
728x90

'앱 개발 > Kotlin_Android' 카테고리의 다른 글

무한 스크롤 기능 구현  (0) 2024.06.19
Process, Thread  (0) 2024.06.13
Android 4대 컴포넌트  (0) 2024.06.07
API 사용하여 동영상 가져오기  (0) 2024.06.05
Hilt & ViewModel  (0) 2024.05.31