一、我的理解
适配器模式的主要作用是在两个互不兼容的接口之间提供一个桥梁。比如有两个接口A和B,A中的方法,要将A中的方法进行适当的转换,使得他和B中的方法相统一或者可以被B中的方法可以调用。它的主要目的在于转换一个接口的方法,使得它和另一个接口或者客户需要的方法相统一,这就是“适配”的含义。比如A中有方法 a_m(int a, int b)计算两数之和,然后用户需要一个方法 m(int a),计算a+10的值,此时则可以适配A中的方法,创建出一个方法 m(int a){a_m(a, 10);},这样即将A中的方法适配给客户。
二、实现方式
继承或依赖(推荐)
三、代码实例
AdvancedMediaPlayer接口包含了更高级的播放方法,它可以支持vlc格式和mp4格式,而原来的播放器AudioPlayer只支持mp3格式的,此时就需要一个适配器类MediaAdapter类,将播放mp4格式和vlc格式文件的方法进行适配,供AudioPlayer类调用。实际上是通过组合的方式来实现适配器模式。
Java源码:https://github.com/happy3014/design-pattern