-
안드로이드 VM, ViewModel 이 서로 필요한 경우는 어떻게 처리하는가?안드 음성 STT 미라클 모닝 앱 2023. 5. 22. 11:21
사진: Unsplash 의 israel palacio 1.
ViewModel 내에서 다른 ViewModel 인스턴스를 직접 참조하는 방식: 한 ViewModel에서 다른 ViewModel 인스턴스를 직접 참조하여 사용할 수 있습니다. 이 경우 각 ViewModel이 서로를 알고 있어야 하므로 의존성이 생기게 됩니다. 이는 복잡성을 증가시킬 수 있고, 결합도가 높아질 수 있으므로 주의해야 합니다.
2.공통의 상위 ViewModel을 사용하는 방식: 여러 ViewModel이 공통으로 사용하는 상위 ViewModel을 정의하여 그 안에서 필요한 데이터나 동작을 처리할 수 있습니다. 각 ViewModel은 이 상위 ViewModel을 참조하여 데이터를 공유하고, 필요한 동작을 수행할 수 있습니다. 이를 통해 각 ViewModel 간의 결합도를 낮추고, 코드를 모듈화하고 재사용할 수 있게 됩니다.
코드스테이츠
3.이벤트 버스 라이브러리 사용: 이벤트 버스 라이브러리를 사용하여 ViewModel 간에 이벤트를 발행하고 구독하는 방식을 사용할 수 있습니다. ViewModel 간의 통신을 이벤트 중심으로 처리하면서 결합도를 낮출 수 있습니다. 예를 들어, LiveData를 사용하여 이벤트를 구독하고 발행하는 방식이 가능합니다.
4.의존성 주입(Dependency Injection) 사용: ViewModel 간의 의존성을 주입하는 방식을 사용할 수 있습니다. 의존성 주입 프레임워크나 라이브러리를 사용하여 ViewModel 간의 의존성을 주입하면 각 ViewModel은 필요한 의존성을 직접 알 필요 없이 주입받아 사용할 수 있습니다.
'안드 음성 STT 미라클 모닝 앱' 카테고리의 다른 글
MVVM이 뭔데? 그럼 서버 통신은 어디다가? 데이터는 어디에? (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