Skip to content

Navigation

@startuml
!include <C4/C4_Component>

Component_Ext(app, "Application", "Android Module")
Component_Ext(feature, "Feature", "Android Module")
System_Boundary(c2, "Lib") {
    Component(module, "Module", "Kotlin Object", "Declares dependency injection container for the navigation.")
    Component(navigator, "Navigator", "Kotlin Class", "Declares the navigation's transition executor.")
    Component(main_router, "Main Router", "Finite State Machine", "Declares the navigation's main state machine.")
    Component(router, "Router", "Finite State Machine", "Declares one feature's navigation's state machine by implementing its router.")
}

Rel(app, module, "Loads")
Rel(navigator, main_router, "Uses")
Rel(main_router, router, "Uses")
Rel(router, feature, "Implements router of")
@enduml

Last update: August 24, 2021
Back to top