在 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")
}
}
通过这种方式,适配器模式可以在不破坏客户端代码的情况下添加新功能。