- 浏览: 41368 次
- 性别:
- 来自: 杭州
最近访客 更多访客>>
文章分类
最新评论
-
Demin7926:
正好想要这样的数据,而且最好还是.mdf的,但还是不错了,多谢 ...
中国地区数据库Access c#生成sql数据文件 -
zhuzidian:
1.这个classpath是没有必要设置的,那几个jar默认会 ...
Java开发环境的搭建 -
蜡笔小新:
收下
请问第2条中,J2EE开发环境下载什么样的sdk呢?
Java开发环境的搭建
接口
package book.oo.factory; /** * 接口类,完成数字的排序功能 */ public interface IOrderNumber { /** * 对整数按升序排序 * @param intArray 待排序的整数数组 * @return 排序后的整数数组 */ public int[] orderASC(int[] intArray); /** 对整数按降序排序 */ public int[] orderDESC(int[] intArray); }
工厂类
package book.oo.factory; import book.oo.sort.ISortNumber; import book.oo.sort.impl.BubbleSort; import book.oo.sort.impl.LinearInsertSort; import book.oo.sort.impl.QuickSort; import book.oo.sort.impl.SelectionSort; /* * 模式名称:工厂模式 * 模式特征:通过一个通用的接口创建不同的类对象 * 模式用途:面向接口编程,动态联编,多态性 **/ public class Factory { public static final String SELECTION_SORT = "selection"; public static final String BUBBLE_SORT = "bubble"; public static final String LINEARINSERT_SORT = "liner"; public static final String QUICK_SORT = "quick"; public static ISortNumber getOrderNumber(String id) { 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); } }
发表评论
-
JDK_实例(求指定范围内的质数)
2009-11-20 14:15 845package book.arrayset; impor ... -
JDK_实例(使用Arrays)
2009-10-29 13:28 697package book.arrayset; impor ... -
JDK_实例(处理大数字)
2009-10-29 13:21 1036package book.number; import ... -
JDK_实例(生成随机数)
2009-10-29 13:20 1936package book.number; import ... -
JDK_实例(转换数字的进制)
2009-10-29 13:16 985package book.number; /** * ... -
JDK_实例(数字的舍入)
2009-10-29 13:14 917package book.number; import ... -
JDK_实例(格式化数字)
2009-10-29 13:05 579package book.number; import ... -
JDK_实例(数字和数字封装类)
2009-10-29 13:02 713package book.number; /** * ... -
JDK_实例(Adapter 适配器模式)
2009-10-29 12:43 1493接口 package book.oo.sort; / ... -
JDK_实例(Singleton单列模式)
2009-10-29 12:35 1024A package book.oo.singleton; ... -
JDK_实例(排序类)
2009-10-29 12:29 1048排序接口 package book.oo.sort; ... -
JDK_实例(方法与变量在继承时的覆盖和隐藏)
2009-10-29 12:24 782父类 package book.oo.cov ... -
JDK_实例(类的加载顺序)
2009-10-29 12:20 719父类 package book.oo.initorder; ... -
JDK_实例(自定义形状类)
2009-10-29 12:12 787长方形 package book.oo; ... -
JDK_实例(Java 参数传递)
2009-10-29 12:05 904package book.oo; public clas ... -
JDK_实例(复数类)
2009-10-29 11:52 846package book.oo; public clas ... -
JDK_实例(命令行程序)
2009-10-29 11:29 666package book.basic; public c ... -
JDK_实例(计算阶乘)
2009-10-29 11:28 698package book.basic; public c ... -
JDK_实例(控制程序流程)
2009-10-29 11:27 548package book.basic; public c ... -
JDK_实例(java 运算符)
2009-10-29 11:24 791package book.basic; public c ...
相关推荐
9. **新的集合工厂方法(Collection Factory Methods)** `Collections`和`Arrays`类添加了新的工厂方法,如`of()`、`copyOf()`等,方便创建不可变集合和数组。 10. **改进的异常处理** 异常检查更加灵活,可以抛...
JDK中的抽象工厂模式示例如下: - `java.util.Calendar#getInstance()`: 创建日历实例。 - `java.util.Arrays#asList()`: 创建列表实例。 - `java.util.ResourceBundle#getBundle()`: 获取资源绑定。 - `java.sql....
抽象工厂模式是指创建一组有关联的对象实例。例如,java.util.Calendar#getInstance() 方法将创建一个 Calendar 对象,java.util.Arrays#asList() 方法将创建一个 List 对象。 9. 生成器模式(Builder Pattern) ...
4. **Abstract Factory(抽象工厂模式)**:例如`java.sql`包和`UIManager`,提供创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。 5. **Builder(建造者模式)**:如`DocumentBuilder`,将复杂的...
**工厂模式(Factory Pattern)** 工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建对象时,我们不会对客户端暴露创建逻辑,而是引用一个共同的接口来指向新创建的对象。这有助...
3. 抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。例如,`javax.sql.DataSource`接口,它允许创建不同数据库供应商的连接对象。 4. 建造者模式...
2. 设计模式的JDK实例 JDK中许多类和方法都使用了设计模式,这些模式的应用帮助实现了代码的高内聚、低耦合,提高了代码的可维护性和扩展性。下面介绍几种常见的设计模式及其在JDK中的应用实例: a) 抽象工厂模式...
9 Factory工厂模式 2. 10 Adapter适配器模式 第3章 数字 3. 1 数字与数字封装类 3. 2 格式化数字 3. 3 数字的舍入 3. 4 转换数字的进制 3. 5 生成随机数 3. 6 处理大数字 第4...
文件“005_Factory_Series_DesignPattern”可能包含一系列关于工厂方法模式的示例,可能包括简单工厂、工厂方法、抽象工厂等变体。这些例子可以帮助开发者理解如何在不同的场景下选择和使用工厂方法模式。 接下来,...
具体来说,异常信息 "java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory" 显示在尝试创建`com.sun.xml.bind.v2.ContextFactory`类的实例时,该类的定义没有在运行时环境中找到。这通常是由于...
3. **抽象工厂模式(Abstract Factory)**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。 4. **建造者模式(Builder)**:将复杂对象的构建与其表示分离,使得同样的构建过程可以创建...
抽象工厂模式提供了一种解决方案,它允许我们在不指定具体类的情况下创建一系列相关的对象。 - **UML结构**: - `Factory`(抽象工厂):定义创建一系列产品的接口。 - `ConcreteFactory`(具体工厂):实现抽象...
- 使用`DocumentBuilderFactory`创建一个解析器工厂实例。 - 调用`newDocumentBuilder()`方法生成`DocumentBuilder`实例,它负责解析XML字符串。 2. **解析XML字符串**: - 使用`parse()`方法,传入一个`Input...
2. 工厂模式(Factory Pattern):定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂模式让类的实例化推迟到子类中进行。 3. 抽象工厂模式(Abstract Factory Pattern):提供一个接口,用于创建...
7. **类型安全的异构容器(Collections Factory Methods)**:如`Collections.emptyList()`, `Collections.singletonList()`, `Collections.singletonMap()`等,创建已知类型的安全集合实例。 8. **可插拔的类型...
创建型模式关注对象的创建,如单例模式(Singleton)、工厂模式(Factory)和建造者模式(Builder)。这些模式提供了不同的方式来创建对象,使得对象的创建过程更加灵活,同时隐藏了具体的创建逻辑。 结构型模式则...
Java中的`AbstractFactory`、`SimpleFactory`和`FactoryMethod`都是工厂模式的不同变体。 3. **抽象工厂模式**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。在Java中,它常用于不同平台...
2. 工厂模式:了解简单工厂、工厂方法和抽象工厂模式,以及它们在不同场景下的应用。 3. 构造器模式:探索如何使用建造者模式(Builder)来构建复杂对象,以及它的优点和使用场景。 4. 代理模式:学习静态代理和动态...
3. **工厂模式(Factory)**:Spring通过BeanFactory和ApplicationContext实现了工厂模式,它们是创建和管理bean的工厂,可以根据配置动态地创建对象。 4. **代理模式(Proxy)**:Spring AOP(面向切面编程)利用...