Я прочитал статью в блоге о том, как использовать Android Компонент архитектуры в реальном приложении под названием Использование компонента архитектуры навигации в крупном банковском приложении
В разделе Как перемещаться из ViewModels? однако есть одна вещь, которую я не понимаю. Команда определяется следующим образом:
sealed class NavigationCommand {
data class To(val directions: NavDirections): NavigationCommand()
object Back: NavigationCommand()
data class BackTo(val destinationId: Int): NavigationCommand()
object ToRoot: NavigationCommand()
}
Что я не понимаю по этому поводу, так это то, что внутри NavigationCommand
она на самом деле снова использует NavigationCommand
, как в data class To(val directions: NavDirections): NavigationCommand()
- не закончится ли это в бесконечной рекурсии? Кроме того, что значит использовать object
как в object Back: NavigationCommand()
?