Skip to content

Instantly share code, notes, and snippets.

@le0nidas
Last active April 26, 2020 11:04
Embed
What would you like to do?
interface Storage {
fun save(workout: Workout)
}
class LocalStorage : Storage {
override fun save(workout: Workout) {
// it saves in our database
}
}
class CloudStorage : Storage {
override fun save(workout: Workout) {
// it saves in someone else's database
}
}
object NullStorage : Storage {
override fun save(workout: Workout) {
// it does nothing
}
}
fun getStorage(type: String): Storage {
return when (type) {
"local" -> LocalStorage()
"cloud " -> CloudStorage()
else -> NullStorage
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment