-
MVVM이 뭔데? 그럼 서버 통신은 어디다가? 데이터는 어디에?안드 음성 STT 미라클 모닝 앱 2023. 5. 22. 10:41
MVVM
MVVM(Model-View-ViewModel)은 안드로이드 애플리케이션을 개발하기 위한 인기 있는 아키텍처 패턴입니다. 이 패턴은 애플리케이션의 3가지 구성 요소인 모델, 뷰, 뷰모델을 분리하여 애플리케이션 코드의 복잡성을 줄이고 유지 관리를 쉽게 합니다.
모델: 모델은 애플리케이션의 데이터를 나타냅니다. 일반적으로 Room, LiveData 및 ViewModel과 같은 도구를 사용하여 데이터베이스 또는 기타 소스에서 가져옵니다.
뷰: 뷰는 애플리케이션의 사용자 인터페이스(UI)를 나타냅니다. 일반적으로 XML 파일을 사용하여 생성되며 사용자 입력에 응답합니다.
뷰모델: 뷰모델은 모델과 뷰 간의 중개자 역할을 합니다. 뷰에서 모델에 대한 요청을 처리하고 모델의 데이터를 뷰에 업데이트합니다.
MVVM 패턴은 다음과 같은 여러 가지 이점을 제공합니다.
코드 복잡성 감소: MVVM 패턴은 모델, 뷰 및 뷰모델을 분리하여 애플리케이션 코드의 복잡성을 줄입니다. 이렇게 하면 코드를 더 쉽게 이해하고 유지 관리할 수 있습니다.
유지 관리 용이성: MVVM 패턴은 애플리케이션의 UI를 변경하는 것이 더 쉬워 유지 관리를 쉽게 합니다. 이는 뷰모델이 UI에 의존하지 않기 때문입니다.
테스트 용이성: MVVM 패턴은 애플리케이션 코드를 테스트하기 쉽게 합니다. 이는 뷰모델이 테스트하기 쉬운 깨끗한 인터페이스를 제공하기 때문입니다.서버와의 통신 설정은 어디에?!
서버와의 통신 설정은 뷰 모델에 들어가야 합니다. 뷰 모델은 모델과 뷰 간의 중개자 역할을 하며 모델에 대한 요청을 처리하고 모델의 데이터를 뷰에 업데이트하는 역할을 합니다. 따라서 서버와의 통신은 뷰 모델에 구현하는 것이 가장 좋습니다.
예를 들어, 뉴스 애플리케이션을 개발 중이고 뉴스 기사 목록을 표시하는 뷰가 있다고 가정해 보겠습니다. 뉴스 기사 목록을 가져오기 위해 서버와 통신해야 합니다. 이 경우 뉴스 기사 목록을 가져오는 코드를 뷰 모델에 구현합니다. 뷰 모델은 그런 다음 뉴스 기사 목록을 뷰에 업데이트합니다.
뷰 모델에 서버와의 통신을 구현하면 다음과 같은 몇 가지 이점이 있습니다.뉴스 기사에 대한 데이터는?
뉴스 기사 애플리케이션의 경우 모델에는 뉴스 기사에 대한 데이터가 들어가야 합니다. 여기에는 뉴스 기사의 제목, 설명, 작성자 및 게시 날짜가 포함될 수 있습니다. 모델은 또한 뉴스 기사를 저장하고 검색할 수 있는 기능을 제공해야 합니다.
'안드 음성 STT 미라클 모닝 앱' 카테고리의 다른 글
안드로이드 VM, ViewModel 이 서로 필요한 경우는 어떻게 처리하는가? (0) 2023.05.22 MongoDB 와 Realm의 관계 (0) 2023.05.10 SQL 말고 realm query 문장 만들기 (0) 2023.05.10 Android 및 Multipatform을 지원하는 Realm Kotlin 세팅 (0) 2023.05.08