英雄联盟中的设计模式-适配器模式

将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。

键盘的Q按键按多了难免会损坏,如果没有了Q按键,我们如何称霸联盟?不用着急,只要使用了适配器模式,我们可以按空格键施放第一个技能,就再也不用担心Q按钮损坏了。


适配器模式重在不改变原来的接口,将其他类的接口转换成另一个符合客户期望的接口。此模式比较简单,但有两种模式:类适配器和对象适配器。在这里只详细说明对象适配器,因为只有在使用多重继承的时候,才会用到类适配器(今后有时间可以讲给大家听)。

适配器模式类图如下:


调用过程大致描述为:

  1. 客户通过调用目标接口发起请求,从而调用适配器的接口
  2. 适配器将客户的请求转换成被适配者的一个或多个接口的调用

从类图可以得知,适配器持有被适配者的实例(组合)。当客户接收到调用的结果后,并不会察觉整个过程是适配器在起转换作用,这也满足代码解耦的原则。

点击获取具体代码及说明

你可能会觉得适配器模式有点像装饰者模式,这里只需要记住两条规则便能将其分清:
装饰者:不改变接口,但加入职责
适配器:将一个接口转换成另一个接口

倾情告白:实现一个适配器可能要一番功夫,也可能不费功夫,要看目标接口的大小与复杂程度。

关注微信公众号CodingArtist,可以第一时间得到文章更新通知! _

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容