首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Factory工场模式

2012-12-28 
Factory工厂模式/** * 模式名称:工厂模式 * 模式特征:通过一个通用的接口创建不同的类对象 * 模式用途:面

Factory工厂模式

/** * 模式名称:工厂模式 * 模式特征:通过一个通用的接口创建不同的类对象 * 模式用途:面向接口编程 * */public class Factory {//各种排序方法的命令标示public static final String SELECTION_SORT="selection";public static final String BUBBLE_SORT="bubble";public static final String LINEARINSERT_SORT="linear";public static final String QUICK_SORT = "quick";public static ISortNumber getOrderNumber(String id){//String的equalsIgnoreCase方法在比较两个字符串是否相等时不区分大小写if(SELECTION_SORT.equalsIgnoreCase(id)){return new SelectionSort();}else if(BUBBLE_SORT.equalsIgnoreCase(id)){return new BubbleSort();}else if(LINEARINSERT_SORT.equalsIgnoreCase(id)){return new LinearInsertSort();}else if(QUICK_SORT.equalsIgnoreCase(id)){return new QuickSort();}else{return null;}}/** * 输出整型数组 * @param array */public static void printIntArray(int[] array){if(array!=null){for(int i=0;i<array.length;i++){System.out.print(array[i] + " ");}System.out.println();}}public static void main(String[] args){int[] intarray = new int[]{6,1,3,5,4};System.out.println("排序前的数组是:");printIntArray(intarray);System.out.println("用选择排序法对数组进行升序排序后的结果是:");int[] orderedArray = Factory.getOrderNumber(Factory.SELECTION_SORT).sortASC(intarray);printIntArray(orderedArray);System.out.println("用冒泡排序法对数组进行升序排序后的结果是:");orderedArray = Factory.getOrderNumber(Factory.BUBBLE_SORT).sortASC(intarray);printIntArray(orderedArray);System.out.println("用线性插入排序法对数组进行升序排序后的结果是:");orderedArray = Factory.getOrderNumber(Factory.LINEARINSERT_SORT).sortASC(intarray);printIntArray(orderedArray);System.out.println("用快速排序法对数组进行升序排序后的结果是:");orderedArray = Factory.getOrderNumber(Factory.QUICK_SORT).sortASC(intarray);printIntArray(orderedArray);}}

热点排行