본문 바로가기

앱 개발/Kotlin_Android

MVP -> MVVM

 MVP(Model-View-Presenter) 아키텍처를 MVVM(Model-View-ViewModel) 아키텍처로 변환하는 것은 그리 복잡하지 않다. 그러나 MVP와 MVVM은 각각의 특성을 가지고 있으므로 완전히 같은 것으로의 변환은 어렵지만 일반적인 절차는 다음과 같다.

- View 수정

MVP에서는 View가 Presenter를 직접 참조하지만 MVVM에서는 View가 ViewModel을 참조한다. 따라서 View를 수정하여 Presenter 대신에 ViewModel을 참조하도록 변경한다.

 

- ViewModel 생성 / Model 변경 없음

MVVM에서는 각 View에 대해 ViewModel이 존재해야 한다. ViewModel은 View의 데이터와 상태를 관리하고 View와의 상호 작용을 책임진다. 따라서 ViewModel을 생성하고 MVP의 Presenter와 같은 비즈니스 로직을 ViewModel로 이동해야 한다. 그리고 주로 View와 Presenter의 관계를 View와 ViewModel의 관계로 변경하는 것이다. 따라서 기존의 Model은 그대로 유지될 수 있다.

 

- 데이터 바인딩 설정 / View와 ViewModel의 상호 작용 설정

데이터 바인딩을 사용하여 View와 ViewModel을 연결한다. 따라서 데이터의 변화에 따라 자동으로 UI가 업데이트되도록 설정해야 한다. View와 ViewModel은 데이터 바인딩을 통해 상호 작용한다. 따라서 사용자 입력이나 이벤트 처리와 같은 작업은 주로 View에서 처리되고 그 결과는 ViewModel로 전달된다. ViewModel에서는 비즈니스 로직을 처리하고 필요한 경우 Model과 상호 작용한다.

 

 

 

728x90

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

Companion Object & Object  (0) 2024.05.13
ListAdapter  (0) 2024.05.10
Data & Business Logic  (0) 2024.04.18
RecyclerView  (0) 2024.04.12
ViewBinding  (0) 2024.04.03