🔩设计模式-适配器模式-Adapter

mumushuiding · · 101 次点击 · · 开始浏览    


🔩适配器模式-Adapter

原文地址:https://github.com/mumushuiding/golang-design-pattern/tree/master/01_Adapter

把一个"错误"的接口🔄转换为希望的形式。它处理的是👫匹配问题。

⚡️ 类图

适配器模式中,建造一个适配器有两种可能性:

⚡️ 基于的适配器(简称类适配器);

🐘 基于对象的适配器(简称对象适配器);

​​

⚡️类适配器

适配器的类实现调用接口targetInterface, 并把对适配器的调用委托给它所继承的对象targetClass.

👦参与者

下面列出适配器模式的参与者:

targetClass (需要被匹配的类). 类 targetClass 通过接口的方式operationB()对外提供操作,但是这些接口并不与客户所要求的operationA()匹配, 所以客户不能直接调用这个类

client (客户).客户想使用 targetClass 类, 但是由于自身的需求,客户并不具备使用这个类的接口.

targetInterface (目标接口). 这个接口能够满足客户的需求,而且必须被实现.因为这个接口与 targetClass 类的接口不匹配,所以需要一个适配器.

Adapter (适配器).以客户client要求的接口形式 operationA() 去调整 targetClass 类的接口 operationB().通过适配器 Adapter 类可以使client和targetClass对象进行通信.

🐘对象适配器

对象适配器会🍗"瘦"一些,其它同类适配器基本相同, 类适配器中Adapter完全继承targetClass(目标类)的属性和方法, 而对象适配器只引入 属性.就不做介绍了.

😎评价

👍优点

适配器有下列优点:

🚫可以在不相关的软件组件间进行信息交换.

➕可以扩展功能

🙏可以调整和优化

👎缺点

适配器有以下缺点:

🕙复杂的适配器会导致时间的延误

♻️适配器可以根据解决方案单独调整,这会导致复用性降低

本文来自:简书

感谢作者:mumushuiding

查看原文:🔩设计模式-适配器模式-Adapter

入群交流(和以上内容无关):Go中文网 QQ 交流群:798786647 或加微信入微信群:274768166 备注:入群;关注公众号:Go语言中文网

101 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传