设计模式 adapter 实现

2022-07-21 浏览 (1263)

golang 设计模式 adapter 代码实现

package adapter

/Target 是适配的目标接口
type Target interface {
	Request() string
}

/Adaptee 是被适配的目标接口
type Adaptee interface {
	SpecificRequest() string
}

/NewAdaptee 是被适配接口的工厂函数
func NewAdaptee() Adaptee {
	return &adapteeImpl{}
}

/AdapteeImpl 是被适配的目标类
type adapteeImpl struct{}

/SpecificRequest 是目标类的一个方法
func (*adapteeImpl) SpecificRequest() string {
	return "adaptee method"
}

/NewAdapter 是Adapter的工厂函数
func NewAdapter(adaptee Adaptee) Target {
	return &adapter{
		Adaptee: adaptee,
	}
}

/Adapter 是转换Adaptee为Target接口的适配器
type adapter struct {
	Adaptee
}

/Request 实现Target接口
func (a *adapter) Request() string {
	return a.SpecificRequest()
}

目录

go 设计模式

相关文章

适配器模式

设计模式 adapter_test 实现

^