设计模式
创建型
单例模式
kotlin
object Database {
fun connect() { ... }
}工厂模式
kotlin
interface Animal { fun speak(): String }
class Dog : Animal { override fun speak() = "汪" }
class Cat : Animal { override fun speak() = "喵" }
fun createAnimal(type: String): Animal = when (type) {
"dog" -> Dog()
"cat" -> Cat()
else -> throw IllegalArgumentException()
}结构型
适配器模式
将一个类的接口转换成客户端期望的另一种接口。
装饰器模式
动态地给对象添加额外职责。
行为型
观察者模式
kotlin
val flow = MutableStateFlow(0)
flow.collect { value -> println(value) }策略模式
定义一系列算法,封装后使它们可以互相替换。