适配器模式
一、题目:
某OA系统需要提供一个加密模块,将用户机密信息(如口令、邮箱等)加密之后,存储在数据库中,系统已经定义好了数据库操作类,为了提高开发效率,现需要重用已有的加密算法,这些加密算法封装在由第三方提供的类中,有些甚至没有源代码,试使用适配器模式,设计该模块,在不修改现有类的基础上,重用第三方加密算法。
现有一个接口DataOperation定义了排序算法sort(int []),和查找方法search(int[],int),已知类QuikSort的quickSort方法实现了快速排序算法,类BinarySearch类的binarySearch(int[], int)实现了二分查找法,现使用适配器模式设计一个系统,在不修改源代码的情况下将类,将QuickSort和类BinarySearch类的方法实适配到DataOperation接口。
(1)绘制适配器模式结构视图;
(2)请绘制该实例类图,并代码实现。
二、所用模式结构视图:
三、实例类图:
四、实例实现代码:
(因为区分,所以在类的前面加了Gj19)
抽象操作类:目标接口
package AdapterPattern;
/**
* 抽象操作类:目标接口
* @author gong
*
*/
public interface Gj19DataOperation {
public int[] sort(int array[]); //排序
public int search(int array[],int key); //查找
}
操作适配器:适配器
package AdapterPattern;
/**
* 操作适配器:适配器
* @author gong
*
*/
public class Gj19OperationAdapter implements Gj19DataOperation {
private Gj19QuickSort sortObj; // 定义适配者Gj