做网站页面用什么,营销型网站页面布局,南昌网站建设q479185700棒,网站登录流程图一、简介
适配器模式是用来做适配的#xff0c;它将不兼容的接口转换为可兼容的接口#xff0c;让原本由于接口不兼容而不能一起工作的类可以一起工作。
适配器模式角色#xff1a;
请求者client#xff1a;调用服务的角色目标Target#xff1a;定义了Client要使用的功…一、简介
适配器模式是用来做适配的它将不兼容的接口转换为可兼容的接口让原本由于接口不兼容而不能一起工作的类可以一起工作。
适配器模式角色
请求者client调用服务的角色目标Target定义了Client要使用的功能转换对象Adaptee需要被适配器转换的对象适配器Adapter实现转换功能的对象
二、分类
有类适配器和对象适配器两种前者用继承实现后者用组合实现。
1. 类适配器 适配器的作用是将Adaptee中的方法都转为Target接口中的方法而适配器类Adapter继承Adaptee实现Target接口。
type target interface{} {func1()func2()
}type Adaptee struct {
}func (*Adaptee) fa() {
}func (*Adaptee) fb() {
}type Adapter struct {Adaptee
}func (*Adapter) func1() {fa()
}2. 对象适配器 跟类适配器类似唯一的不同在于适配器Adapter对于Adaptee是组合关系而不是继承。
type target interface{} {func1()func2()
}type Adaptee struct {
}func (*Adaptee) fa() {
}func (*Adaptee) fb() {
}type Adapter struct {adptee Adaptee
}func (*Adapter) func1() {adptee.fa()
}func (*Adapter) func2() {adptee.fb()
}三、使用场景
1. 类适配器和对象适配器的选择
类适配器和对象适配器选用哪个主要看Adaptee的接口个数以及Adaptee和Target的契合程度。
如果Adaptee的接口不多选哪个都可以如果Adaptee的接口很多 如果Adaptee和Target的接口定义大多相同则推荐使用类适配器减少开发量。如果Adaptee和Target的接口定义大多不同则推荐使用对象适配器代码可以更灵活。
2. 适用场景
封装有缺陷的接口设计统一多个类的接口设计替换依赖的外部系统兼容老版本接口适配不同格式的数据