适配适配,说到底就是将老旧代码的功能组合成一个新类。比如我以前有排序类进行排序,有二分查找类进行二分查找,代码太复杂了,我找不到我也不敢随随便便改代码。现在有一个新需求,需要将学生的成绩进行排序或查找排名
将需求抽象
interface Score{
int [] sort(int arr[]);
int binarySearch(int arr[],int score);
}
排序老代码
class Sort{
int [] sort(int arr[]){实现.............}
............
其他业务代码
............
}
二分查找老代码
class BinarySearch{
int binarySearch(int arr[],int score){实现.............}
............
其他业务代码
............
}
新需求的实现类
class ScoreImpl implements Score{
private Sort sort=new Sort();
private BinarySearch binirySearch=new BinarySearch();
@Override
public int[] Sort(int[] arr) {
return sort.sort(arr);
}
@Override
public int BinarySearch(int[] arr, int score) {
return binarySearch.binarySearch(arr,score);
}
}
完结撒花,我也看不懂这是什么操作,就是简简单单的不用教都会的用法啊,当初被设计模式折磨。其实完完全全就是为了总结出一套规范出来的文字而已。大可不必陷入文字。核心就是将一些老旧功能组合成新的类,拿到老旧类的对象直接调用对应接口就行了。