`

Factory工厂模式

    博客分类:
  • J2SE
阅读更多
/**
 * 模式名称:工厂模式
 * 模式特征:通过一个通用的接口创建不同的类对象
 * 模式用途:面向接口编程
 *
 */
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工厂模式详解 #### 一、概述 Factory工厂模式是一种常见的设计模式,主要用于对象的创建过程。在软件工程中,工厂模式可以帮助我们隐藏对象创建的复杂性,并且能够更好地控制对象的创建流程。根据其...

    Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)

    这里我们将深入探讨三种常见的Java设计模式:单例(Singleton)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。 **单例模式(Singleton)** 单例模式确保一个类只有一个实例,并提供一个全局访问点...

    工厂模式FactoryMode

    工厂模式是一种常用的面向对象设计模式,它属于创建型设计模式,旨在提供一种创建对象的最佳方式。在工厂模式中,当客户端请求创建一个产品对象时,它不会直接创建,而是调用一个专门的工厂对象来完成这个任务。这样...

    factory设计模式源码

    Factory设计模式,也称为工厂模式,是创建型设计模式的一种,它提供了一种创建对象的最佳方式。在这个模式中,我们创建一个用于创建对象的接口,但让子类决定实例化哪一个类。Factory方法让类的实例化延迟到子类进行...

    设计模式之Factory

    Factory模式通常分为简单工厂(Simple Factory)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)三种主要类型。 1. **简单工厂**:这是最简单的形式,它包含一个静态方法,根据传入的参数返回特定类型...

    qt工厂模式例子qt简单工程模式源码

    3. Qt工厂模式工程 4. Qt工厂模式例程 5. Qt工厂模式例子 6. 简单工厂模式 部分源码实例: // 奔驰工厂 class BenzFactory : public AFactory { public: ICar* CreateCar() { return new BenzCar(); } }; // ...

    工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式

    而"Factory"可能是一个代码示例,展示了工厂模式的具体实现,包括以上提到的三种模式。 通过学习和理解这三种工厂模式,开发者可以更好地组织代码,降低模块间的耦合,提高软件的可维护性和可扩展性。在实际开发...

    Head First 设计模式 (四) 工厂模式(factory pattern) C++实现

    1. **抽象工厂(Abstract Factory)**:这是工厂模式的核心接口,定义了创建产品对象的公共接口。在C++中,通常用抽象类或者纯虚函数接口来表示。 2. **具体工厂(Concrete Factory)**:实现了抽象工厂接口,负责...

    对设计模式—Abstract Factory模式的认识

    Abstract Factory模式的核心在于抽象工厂(Abstract Factory)和具体工厂(Concrete Factory)。抽象工厂定义了一个用于创建一系列相关或相互依赖对象的接口,而具体工厂则实现了这些接口,负责生产实际的对象。这种...

    创建型模式之抽象工厂模式(Abstract Factory Pattern)

    在软件工程中,当系统需要根据不同的平台、环境或者配置产生一系列相关对象,而这些对象之间的关系又非常复杂时,抽象工厂模式就显得尤为重要。 首先,我们来详细解释一下抽象工厂模式的核心概念: 1. 抽象工厂...

    工厂方法模式(FactoryMethod)

    工厂方法模式是面向对象设计模式中的行为型模式之一,它提供了一种创建对象的最佳方式。在工厂方法模式中,一个工厂类负责创建对象,而具体的创建过程被延迟到了子类中,使得子类可以在不修改原有代码的基础上决定...

    JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)

    **简单工厂模式**是软件设计模式中的一种,属于创建型模式。在Java编程中,它是一种用于创建对象的简便方法,将对象的实例化过程封装到一个单独的工厂类中,使得客户端代码无需直接调用具体类的构造函数,而是通过...

    [创建型模式] head first 设计模式之工厂模式(Factory)

    工厂方法(Factory Method)是工厂模式的一种具体实现,它是《Head First 设计模式》这本书中讲解的重点之一。在这个模式中,一个工厂类声明了一个创建对象的抽象方法,但并不实现这个方法。而是由子类决定要实例化...

    Java设计模式之工厂模式(Factory模式)介绍

    **工厂模式**是一种常见的设计模式,它在Java中被广泛应用于创建对象实例。工厂模式的主要目的是将对象的创建过程封装起来,使得代码更加灵活且易于维护。通过使用工厂模式,我们可以将实例化对象的责任从客户端代码...

    factory模式.docx

    Factory模式,也称为工厂模式,是软件工程中常用的设计模式之一,主要用来解决对象创建时的灵活性和可扩展性问题。在C++中,工厂模式是实现抽象工厂接口的类,用于生成特定类型的对象,而不需要暴露创建逻辑,同时...

    创建型-抽象工厂模式(Abstract Factory)

    此外,抽象工厂模式还可以与其他设计模式结合使用,比如工厂方法模式(Factory Method Pattern),在某些情况下,可以将抽象工厂模式的抽象工厂类设计为工厂方法模式,让子类决定实例化哪一个类。同时,抽象工厂模式...

    走进设计模式之抽象工厂(Abstract Factory)

    在众多设计模式中,抽象工厂(Abstract Factory)模式是一种创建型模式,它为创建一组相关或相互依赖的对象提供一个接口,而无需指定它们的具体类。这种模式允许客户端使用抽象接口与具体实现解耦,使得系统更易于...

    java 设计模式 Facade外观模式 Simple Factory 简单工厂模式

    在这篇文章中,我们将深入探讨两种常见的设计模式:Facade(外观)模式和Simple Factory(简单工厂)模式。 首先,让我们关注Facade模式。外观模式是一种结构型设计模式,它的主要目标是提供一个统一的接口,用来...

    设计模式(c++) 之 Factory(工厂模式)源码下载

    工厂模式主要分为三类:简单工厂模式、工厂方法模式和抽象工厂模式。每种模式都有其特定的应用场景和优势。 首先,简单工厂模式是最直观易懂的一种实现,它定义了一个静态的工厂方法,根据客户端提供的信息返回相应...

    Factory Method 工厂方法模式(创建型模式).wmv

    Factory Method 工厂方法模式(创建型模式).wmv

Global site tag (gtag.js) - Google Analytics