Skip to content

Instantly share code, notes, and snippets.

@kalyaganov
Created June 18, 2019 10:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kalyaganov/b231e098448b2c7ce458b830695d399e to your computer and use it in GitHub Desktop.
Save kalyaganov/b231e098448b2c7ce458b830695d399e to your computer and use it in GitHub Desktop.
class RouterVisiter {
fun route(item: TypeA){
//route for TypeA
}
fun route(item: TypeB){
//route for TypeB
}
}
interface Routable {
fun route(router: RouterVisiter)
}
class TypeA : Routable {
override fun route(router: RouterVisiter){
router.route(this)
}
}
class TypeB : Routable {
override fun route(router: RouterVisiter){
router.route(this)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment