

go设计模式之适配器模式浅谈
source link: https://studygolang.com/articles/35029
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

适配器模式
概念:适配器模式(Adapter Pattern)是作为两个不兼容的接口(结构体)之间的桥梁
什么时候用
举个例子,原先用Iphone6听音乐,使用的是3.5mm耳机,后来手机坏了,但耳机还在,于是买了一个Iphone12手机,
Iphone12使用的是Lightning接口,原先的旧耳机就不能直接使用了,这时我们可以买一个Lightning转3.5mm的转接头,
这里的转接头就相当于我们适配器
原先的Iphon6
//原先的Iphon6手机
type Iphone6 struct{}
//3.5mm标准接口听音乐
func (*Iphone6) standardPlayMusic() {
fmt.Println("3.5mm标准接口 play music")
}
//Iphone6听音乐
i6 := new(Iphone6)
i6.standardPlayMusic() //i6通过3.5mm标准接口播放音乐
Iphone6手机坏了,买一个新的Iphoe12
//新的Iphone12
type Iphone12 struct{}
//Lightning接口听音乐
func (*Iphone12) LightningPlayMusic() {
fmt.Println("Lightning play music")
}
//Iphone12听音乐
i12 := new(Iphone12)
i12.standardPlayMusic() //i12没有3.5mm标准接口所有会报错
i12.LightningPlayMusic() //i12只能通过Lightning接口播放音乐
买一个转接头,即构造一个适配器
//实现Iphone12可以使用3.5mm标准接口听音乐
type Adapter struct {
*Iphone12 //通过新手机嵌入到适配器里
}
//给适配器添加一个3.5mm标准接口播放音乐的方法
func (a *Adapter) standardPlayMusic() {
a.LightningPlayMusic() //通过调用Iphone12的Lightning接口播放音乐
fmt.Println("Lightning转3.5mm标准接口 play music") //通过转接口内部转换转换为3.5mm接口输出音乐
}
新Iphone12通过适配器使用3.5mm接口播放音乐
i12 = new(Iphone12)
adapter := Adapter{i12}
adapter.standardPlayMusic() //i12经过适配器由Lightning转3.5mm接口播放音乐
Recommend
-
113
Scala 与设计模式(五):Adapter 适配器模式 11月20日 | by Prefert...
-
68
适配器模式(Adapter)是23种设计模式之一。DP中是这么定义外观模式的:适配器模式将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能在一起工作的那些类可以在一起工作。我们生活中就经常使用到适配器,适配器这个词最早应该...
-
50
适配器模式是23种设计模式中比较常用的模式之一,在创建型模式、结构性模式和行为型模式分类中,适配器模式归类为结构型模式。 将一个类的接口转换成客户希望的另外一个接口。 Adapter模式使得原本由于接口不兼容而不能一起工作...
-
43
适配器模式指的是将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)。 适配器模式下有以下角色: Source:资源...
-
37
作者:Andrew Jaffee, 原文链接 ,原文日期:2018-09-04 译者: 郑一一 ;校...
-
58
-
53
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mingyunxiaohai/article/details/91358243 适配器模式是将一个类的接口转换成开发者希望的另一个接口 下面参考Retrofit的...
-
46
适配器模式目的就是不改变原有系统的基础上保留其提供的服务,向调用者提供新的接口服务,使得原本由于接口不兼容而不能一起工作的类可以一起工作。(简单说就是增加兼容性,复用已经存在的功能) 笔记本电脑的电源变压器就是这个...
-
20
在实际生活中,也存在适配器的使用场景,比如:港式插头转换器、电源适配器和 USB 转接口。 而在软件工程中,适配器模式的作用是解决两个软件实体间的接口不兼容的问题。 使用适配器模式之后,原本由于接口不兼容而不能工作...
-
28
生活中的例子 如上图所示,生活中适配器无处不在,如电源适配器,读卡器,甚至多转接头读卡器等,都是很常见的...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK