Golang设计模式:适配器模式
适配器(Adapter)模式是一种结构型设计模式,它能使接口不兼容的类可以一起工作。在Go语言中,适配器模式可以通过组合或者封装的方式实现。
以下是一个Go语言中适配器模式的简单示例:
package main
import "fmt"
// 目标接口
type Target interface {
Request() string
}
// 需要适配的类
type Adaptee struct{}
func (a *Adaptee) SpecificRequest() string {
return "特定请求"
}
// 适配器
type Adapter struct {
adaptee *Adaptee
}
// 实现目标接口
func (a *Adapter) Request() string {
return a.adaptee.SpecificRequest()
}
func main() {
// 创建被适配的对象
adaptee := &Adaptee{}
// 创建适配器,并将被适配对象作为参数传入
adapter := &Adapter{
adaptee: adaptee,
}
// 通过适配器调用目标接口的方法
result := adapter.Request()
fmt.Println(result)
}
在这个例子中,Target
接口定义了期望的方法,Adaptee
是一个已经存在的类,它有一个不符合Target
接口的方法SpecificRequest
。Adapter
适配器通过组合Adaptee
实例,并实现了Target
接口的Request
方法,将Adaptee
的方法转换为符合Target
接口的方法,从而使得Adaptee
可以被客户端使用。
评论已关闭