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