Java设计模式-内功修炼-结构型-适配器模式
适配器模式
定义
适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。
个人理解
我能理解适配器模式的含义,但是在我的编程中也仅仅在Android中用到了适配器模式,其大多数用来适配ListView, RecycleView等控件。
想要理解适配器模式其实很简单—电源适配器。电源适配器的工作就是家庭电220V到笔记本电脑电压20V的转换,即用来适配笔记本电脑的工作电压。
应用实例讲解
问题描述
某软件公司以前开发了一个算法库,其中包含QuickSort.quickSort(),和BinartSearch.binarySearch()即快排类和二分查找类中的快速排序算法和二分查找算法,但是他们找不到源代码了。
而且他们在给某家公司开发软件的时候定义了ScoreOperation接口,其中声明了sort和search方法,即排序和查找方法,而且开发人员已经在使用这个接口进行编程,即开发人员还没有实现接口中的方法,但是程序已经写了不少了。问现在怎么才能不修改现在的接口还能重用算法库呢?
下面给出类图:
基本思路是实现一个OperationAdapter,在其中实现sort和search方法,这两个方法调用之前算法库里的方法,那么这样开发人员之前针对ScoreOperation接口的编程还是可以用的。
而且还可以再结合反射技术,将OperationAdapter写在配置文件当中即可满足开闭原则。