Я встречал 2 подхода о том как сообщают о событии в UI в логику, например ViewModel
// Подход "Через методы"
class MyViewModel : ViewModel() {
fun onButtonClicked() { ... }
}
или
// Подход "Через события"
sealed interface MyEvent {
class OnButtonClick() : MyEvent
}
class MyViewModel : ViewModel() {
fun onEvent(event: MyEvent) {
when(event) {
is OnButtonClick -> { ... }
}
}
}
Какой подход и почему предпочитаете вы? Делитесь в комментариях под опросом