什么是适配器模式
Adpater Pattern 是指将一个类的接口转换成客户端希望的另一个接口,使原本因接口不兼容而不能一起工作的类可以一起工作
组成如下:
- 目标:定义客户端所需的接口
- 适配器:适配器可以调另一个接口,是一个转换器,主要用于对适配器类和目标接口进行适配
- 适配者:适配者是被适配的角色
代码实现
对象适配器
1.定义目标抽象接口
// 目标接口
type ObjectTarget interface {
Execute()
}
2.定义适配者类以及其方法
//适配者类
type ObjectAdaptee struct {
}
//适配者类的方法
func (b *ObjectAdaptee) SpecificExecute() {
fmt.Println("最终执行的方法")
}
3.定义适配器类
//适配器类
type ObjectAdapter struct {
Adaptee ObjectAdaptee
}
// 适配器类的方法
func (p *ObjectAdapter) Execute() {
p.Adaptee.SpecificExecute()
}
4.创建客户端
func main() {
adapter := ObjectAdapter{}
adapter.Execute()
}
适配器使用场景
- 当开发者希望使用某个类,但是其接口与其他代码不兼容
- 当系统需要使用现有的类,而这些类的接口不符合系统的要求
- 当开发着需要创建一个可以重复使用的类,用于彼此之间没有太大关联的类