模板方法模式Template Method
阿新 • • 發佈:2018-11-13
完整設計模式目錄見:https://blog.csdn.net/u013523089/article/details/82852049
模板方法模式:流程固定,每個步驟可有不同的實現
以氣泡排序演算法為例:整型陣列與字串陣列的氣泡排序步驟是一樣的,但是具體如兩個值比較,獲取陣列長度可能略有差異,模板方法就是對差異部分進行抽象,以達到一個模板的功能
1.setList 確定待排序陣列;2.getLength 獲取陣列長度;3.needSwap 兩個值比較;4.swap 兩個值位置交換
public static void main(String[] args) { int[] a = {5,1,6,8,9,4,8,3,2,5}; IBubbleSort<int[]> bubbleSort = new BubbleSort(false) ; a = bubbleSort.sort(a); for(int i : a) { System.out.print(i + ","); } System.out.println(); List<Integer> list = new ArrayList<>(); list.add(4); list.add(9); list.add(7); list.add(5); list.add(3); list.add(6); IBubbleSort<List<Integer>> bubbleSort1 = new BubbleSortByList(); System.out.print(bubbleSort1.sort(list).toString()); }