This is a collection of known design patterns and some sample codes on how to implement them in Kotlin.
I think the problem with patterns is that often people do know them but don't know when to apply which.
The patterns can be structured in roughly three different categories.