Junior — Middle
Jak można zaimplementować i zastosować LiveData w ramach zasad Clean Architecture?
sobes.tech AI
Odpowiedź od AI
W czystej architekturze LiveData jest zwykle używane na poziomie prezentacji (UI) do obserwowania zmian danych i aktualizacji interfejsu. Ważne jest oddzielenie logiki biznesowej i danych od komponentów specyficznych dla Androida.
Implementacja może wyglądać tak:
- UseCase (w warstwie domeny) zwraca dane przez Flow lub inny reaktywny typ.
- ViewModel (w warstwie prezentacji) subskrybuje UseCase i konwertuje Flow na LiveData.
- Activity lub Fragment obserwuje LiveData i aktualizuje UI.
Przykład ViewModel w Kotlin:
class MyViewModel(private val getDataUseCase: GetDataUseCase) : ViewModel() {
val data: LiveData<List<Item>> = getDataUseCase()
.asLiveData()
}
W ten sposób LiveData służy jako adapter między czystą logiką biznesową a UI, zachowując zasady podziału odpowiedzialności.