Sobes.tech
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.