7 / 8
Sukurk NoteRepository sluoksnį
Vis dar data pakete sukurk NoteRepository.kt.
Kodėl Repository?
Šiuo metu jis tiesiog perduoda iškvietimus DAO. Atrodo nereikalingas. Bet:
- Jei rytoj norėsi sinchronizuoti pastabas su serveriu,
save()taps protingesnis — pirma įrašys lokaliai, paskui išsiųs į API. ViewModel nepasikeis. - Testai gali pakeisti
NoteRepositorysu fake versija. - ViewModel niekada nematys
Notekaip Room entiteto — tik kaip domeno objektą.
save() metodas turi protingumo: jei id == 0L (numatytasis), tai nauja pastabos — insert. Kitu atveju — update.