Go设计模式-适配器

61 阅读1分钟

什么是适配器模式

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()
}

适配器使用场景

  • 当开发者希望使用某个类,但是其接口与其他代码不兼容
  • 当系统需要使用现有的类,而这些类的接口不符合系统的要求
  • 当开发着需要创建一个可以重复使用的类,用于彼此之间没有太大关联的类