适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将不兼容的接口转换为另一个接口,以满足客户端的需求。在 Golang 中实现适配器模式可以使用接口和组合来实现。

下面是一个使用 Golang 实现适配器模式的示例代码:

package main

import "fmt"

type Target interface {
    Request()
}

type Adaptee struct {}

func (a *Adaptee) SpecificRequest() {
    fmt.Println("Adaptee.SpecificRequest()")
}

type Adapter struct {
    adaptee *Adaptee
}

func (a *Adapter) Request() {
    a.adaptee.SpecificRequest()
}

func main() {
    adaptee := &Adaptee{}
    adapter := &Adapter{adaptee}

    adapter.Request()
}

在上面的代码中,我们定义了一个 Target 接口,它包含一个 Request 方法,用于执行请求。我们还定义了一个 Adaptee 结构体,它包含一个 SpecificRequest 方法,用于执行特定的请求。

接着,我们定义了一个 Adapter 结构体,它包含一个指向 Adaptee 的指针,并实现了 Target 接口的 Request 方法。该方法会调用 Adaptee 的 SpecificRequest 方法,将不兼容的接口转换为 Target 接口。

最后,在 main 函数中,我们创建了一个 Adaptee 实例,并将其传递给 Adapter 实例。我们调用 adapter.Request() 方法,实际上是调用了 Adaptee.SpecificRequest() 方法,但由于适配器的存在,客户端无需直接调用 Adaptee 的方法,从而实现了接口的兼容。

标签: none

添加新评论