本示例简单的实现了工厂模式,请参见如下代码是如何实现的
/*
* @(#) TestMain.java 1.0 2011-7-22
*
* (c) Copyright 2011 smshen factoryDemo
*
* FILENAME : TestMain.java
* PACKAGE : com.smshen.factory.test
* CREATE DATE : 2011-7-22
* AUTHOR : smshen
*/
package com.smshen.factory.test;
import java.util.Properties;
import com.smshen.factory.fruit.IFruit;
import com.smshen.factory.fruitfactory.FruitFactory;
import com.smshen.factory.util.LoadPropertyFile;
/*******************************************************************************
* #(c) smshen factoryDemo
*
* 功能说明: 测试类
* 2011-7-22 下午2:56:55 smshen 创建文件
*
* 修改说明: 创建文件
* 2011-7-22 下午2:56:55 smshen 修改文件
*
******************************************************************************/
public class TestMain {
/**
* 功能 :主方法
* 开发:smshen 2011-7-22
* @param args
*/
public static void main(String[] args) {
//properties文件存放位置
String path = "D:/project/study/eclipse/workspace/factoryDemo/src/fruit.properties";
Properties properties = LoadPropertyFile.getProperties(path);
IFruit fruit = null;
fruit = (IFruit) FruitFactory.getInstance(properties.getProperty("apple"));
fruit.eat();
}
}
/*
* @(#) FruitFactory.java 1.0 2011-7-22
*
* (c) Copyright 2011 smshen factoryDemo
*
* FILENAME : FruitFactory.java
* PACKAGE : com.smshen.factory.fruitfactory
* CREATE DATE : 2011-7-22
* AUTHOR : smshen
*/
package com.smshen.factory.fruitfactory;
/*******************************************************************************
* #(c) smshen factoryDemo
*
* 功能说明: 水果工厂类
* 2011-7-22 下午2:51:22 smshen 创建文件
*
* 修改说明: 创建文件
* 2011-7-22 下午2:51:22 smshen 修改文件
*
******************************************************************************/
public class FruitFactory {
/**
*
* 功能 :利用反射生成一个类的实例
* 开发:smshen 2011-7-27
* @param className 类路径名称
* @return Object 实例
*/
public static Object getInstance(String className) {
Object obj = null;
try {
obj = Class.forName(className).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return obj;
}
}
还有几个类的代码没有贴出来,我将代码打包请大家自行下载吧!
分享到:
相关推荐
Java 简单工厂模式例子,Eclipse直接引入就可以使用
反射例子代码、简单工厂模式例子代码、工厂模式例子代码
php 设计模式 简单工厂模式
java工厂模式一个简单的工厂模式例子工厂模式简单代码案例,仅供参考。java工厂模式一个简单的工厂模式例子工厂模式简单代码案例,仅供参考。java工厂模式一个简单的工厂模式例子工厂模式简单代码案例,仅供参考。...
5. Qt工厂模式例子 6. 简单工厂模式 部分源码实例: // 奔驰工厂 class BenzFactory : public AFactory { public: ICar* CreateCar() { return new BenzCar(); } }; // 宝马工厂 class BmwFactory : public A...
参考大话设计模式书籍
这是一个用C++写的简单工厂模式的例子,以创建不同子公司为例介绍了应该如何构造简单工厂模式
详细介绍简单工厂模式,包括演示+具体例子+PPT。
本例子是用C#写的一个关于应用简单工厂设计模式的小例子,一个简单计算器的控制台应用程序。
该文件时对简单工厂模式的简单应用小例子,里面包含了对应的源代码
关于工厂模式以及简单工厂模式
C++设计模式例程,工厂模式例子,环境是VS2019打开即可运行 工厂模式也是平时我们编程用的比较多的一种行为设计模式,它提供了一种创建对象的最佳方式。工厂模式提供了一种创建对象的方式,而无需指定要创建的具体...
包含两个zip文件夹calculatorConsole.zip和calculatorConsole2.zip,...还增加了异常处理,以及运用了“简单工厂设计模式”,代码的灵活性、扩展性、复用性、维护性都很好,可以很方便的移植到需要GUI的计算器实现中。
设计模式中的简单工厂模式的一个小例子,希望对大家有用~~~~~~~~~~
很多同学对工厂模式有些模糊,我这有一个小小的例子 希望能给你带来点帮助。
抽象工厂,解决实际开发中项目的一些问题。便于开发大型项目。
Java设计模式04简单工厂模式.pdf
从简单工厂,到工厂方法到抽象工厂,这几种都带有“工厂”的模式,总是容易叫人迷糊,我仔细研究了下,然后用简单的例子做类比,列出了自己的通俗理解和比较,大部分是自己的体会,感觉理的比较清楚,末尾提了下...
简单工厂模式、工厂模式、抽象工厂模式