在 Kotlin 中,适配器模式可以通过创建一个新接口来保持接口一致性,这个新接口将包含原始接口和新功能。然后,适配器实现这个新接口,并在内部使用原始接口。这样,客户端代码可以继续使用原始接口,而不需要修改。
以下是一个简单的 Kotlin 适配器模式示例:
OriginalInterface
:interface OriginalInterface {
fun originalMethod()
}
AdapterInterface
,包含原始接口和新功能:interface AdapterInterface {
fun originalMethod()
fun newFeature()
}
AdapterInterface
的类 Adapter
,并在内部使用 OriginalInterface
:class Adapter : OriginalInterface, AdapterInterface {
private val original: OriginalInterface
constructor(original: OriginalInterface) {
this.original = original
}
override fun originalMethod() {
original.originalMethod()
}
override fun newFeature() {
println("New feature implemented in Adapter")
}
}
AdapterInterface
而不是 OriginalInterface
:fun main() {
val original = OriginalInterfaceImpl()
val adapter = Adapter(original)
adapter.originalMethod()
adapter.newFeature()
}
class OriginalInterfaceImpl : OriginalInterface {
override fun originalMethod() {
println("Original method implemented")
}
}
通过这种方式,适配器模式可以在不破坏客户端代码的情况下添加新功能。