/**
* 模式名称:工厂模式
* 模式特征:通过一个通用的接口创建不同的类对象
* 模式用途:面向接口编程
*
*/
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);
}
}
分享到:
相关推荐
详细描述了factory工厂模式。并列举了一写例子,对理解factory工厂模式有一定的帮助。
工厂模式FactoryMode(java),博文附件
JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
3. Qt工厂模式工程 4. Qt工厂模式例程 5. Qt工厂模式例子 6. 简单工厂模式 部分源码实例: // 奔驰工厂 class BenzFactory : public AFactory { public: ICar* CreateCar() { return new BenzCar(); } }; // ...
1. 简单工厂模式(Simple Factory) 2. 工厂方法模式(Factory Method) 3. 抽象工厂模式(Abstract Factory) 这三种模式从上到下逐步抽象,并且更具一般性。还有一种分类法,就是将简单工厂模式看为工厂方法模式的一...
Head First 设计模式 (四) 工厂模式(factory pattern) C++实现
主要介绍了Java设计模式之工厂模式(Factory模式)介绍,本文讲解了为何使用工厂模式、工厂方法、抽象工厂、Java工厂模式举例等内容,需要的朋友可以参考下
Factory Method 工厂方法模式(创建型模式).wmv
3、抽象工厂模式(Abstract Factory Pattern) 用意:一个工厂生产一系列产品
java 设计模式 Facade外观模式 Simple Factory 简单工厂模式,代码有点罗嗦,不过可移植性很强
设计模式C++学习之抽象工厂模式(AbstractFactory)
C#设计模式之抽象工厂(abstract factory)模式示例源代码
Head.First设计模式中的The Factory Pattern(工厂模式)ppt
对设计模式—Abstract Factory模式的认识
抽象工厂模式(Abstract Factory Pattern) 引入: 在前面介绍的两个创建型模式里面,我们解决的都是有关"new"的问题,用它们来避免显式指定类创建对象。我写的也非常简单易懂,相信看过的朋友们都应该对简单工厂...
C#面向对象设计模式纵横谈:Factory Method 工厂方法模式(创建型模式)
Simple Factory模式: 定义创建对象的接口,并封装对象的创建。 一般情况下,我们为了提高内聚和松耦合,经常会使用多态来处理一些问题。抽象出一些类的公共接口作为抽象基类或者接口。这样的话,我们将会面临一个...
Abstract Factory模式 1 定义创建对象的接口,并封装对象的创建 2 将具体化类的工作延迟到了类中 3 创建创建一组相关对象或者说是一组相互依赖的对象 一般情况下,我们为了提高内聚和松耦合,经常会使用多态来...
抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。
设计模式抽象工厂模式(AbstractFactory)源代码