什么是适配器模式?
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。
这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。
什么是结构型模式?
这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。
结构型模式(Structural Pattern)关注如何将现有类或对象组织在一起形成更加强大的结构
可分为两种:
类结构型模式:关心类的组合,由多个类可以组合成一个更大的系统,在类结构型模式中一般只存在继承关系和实现关系
对象结构型模式:关心类与对象的组合,通过关联关系使得在一个类中定义另一个类的实例对象,然后通过该对象调用其方法。更符合“合成复用原则”
应用场景
解决两个已有接口间不兼容问题。
实现方法
继承或依赖(推荐)。
适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。
Java 对象间关系(依赖、关联、聚合和组合)
1依赖:依赖关系,是类与类之间的联接。依赖关系表示一个类依赖于另一个类的定义。使用关系。一般情况下,依赖关系在Java语言中体现为局域变量、方法的形参,或者对静态方法的调用。
2关联:关联关系,是类与类之间的联接,它使一个类知道另一个类的属性和方法。拥有关系。关联可以是双向的,也可以是单向的。在Java语言中,关联关系一般使用成员变量来实现。
3聚合:聚合关系,是关联关系的一种,是强的关联关系。聚合是整体和个体之间的关系。例如,汽车类与引擎类、轮胎类,以及其它的零件类之间的关系便整体和个体的关系。与关联关系一样,聚合关系也是通过实例变量实现的。但是关联关系所涉及的两个类是处在同一层次上的,而在聚合关系中,两个类是处在不平等层次上的,一个代表整体,另一个代表部分。
4组合:组合关系,是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分对象的生命周期,组合关系是不能共享的。代表整体的对象需要负责保持部分对象和存活,在一些情况下将负责代表部分的对象湮灭掉。代表整体的对象可以将代表部分的对象传递给另一个对象,由后者负责此对象的生命周期。换言之,代表部分的对象在每一个时刻只能与一个对象发生组合关系,由后者排他地负责生命周期。部分和整体的生命周期一样。
实现
需要兼容的两个接口
接口的实现
适配器类
兼容
测试
参照
https://www.runoob.com/design-pattern/adapter-pattern.html
https://blog.csdn.net/jiahao1186/article/details/82634723
https://www.cnblogs.com/simpleito/p/10878865.html