本示例简单的实现了工厂模式,请参见如下代码是如何实现的
/*
* @(#) 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 简单工厂模式例子"中,可能包含如下代码结构: ```java // Product(产品)接口或抽象类 public interface Computer { void start(); } // ConcreteProduct(具体产品)类 public class Laptop ...
简单工厂模式(Simple Factory Pattern)属于创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。简单工厂模式使代码创建对象的过程变得更加灵活,而不必硬编码具体的类名。 ### 2. 角色...
java工厂模式一个简单的工厂模式例子工厂模式简单代码案例,仅供参考。java工厂模式一个简单的工厂模式例子工厂模式简单代码案例,仅供参考。java工厂模式一个简单的工厂模式例子工厂模式简单代码案例,仅供参考。...
本文将深入探讨"反射"以及两种常见的工厂模式:"简单工厂模式"和"工厂方法模式",并结合提供的文件名称来解析这些概念。 首先,我们来看"反射"。在Java等面向对象语言中,反射是一种强大的工具,它允许程序在运行时...
5. Qt工厂模式例子 6. 简单工厂模式 部分源码实例: // 奔驰工厂 class BenzFactory : public AFactory { public: ICar* CreateCar() { return new BenzCar(); } }; // 宝马工厂 class BmwFactory : public A...
参考大话设计模式书籍
简单工厂模式是软件设计模式中的一种结构型模式,它的主要目的是提供一个统一的接口,用于创建一组相关的或相互依赖的对象,而无需指定它们的具体类。在这个例子中,我们将通过C++语言来理解如何实现这个模式。 在...
本文将深入探讨三种工厂模式:简单工厂模式、工厂方法模式以及抽象工厂模式,并结合源码分析其应用场景和优缺点。 1. 简单工厂模式 简单工厂模式(Simple Factory Pattern)是一种静态工厂方法,它通过一个公共的...
在这个"关于简单工厂模式的一个java例子"中,我们将深入探讨这种模式的基本概念、实现方式以及它在Java编程中的应用。 简单工厂模式的核心思想是将对象的创建过程封装在一个单独的工厂类中,客户只需要知道产品类型...
简单工厂模式是一种设计模式,属于创建型模式,它提供了一种创建对象的最佳方式。在简单工厂模式中,一个专门的类(称为工厂类)负责创建其他类的实例,客户端通过工厂类来创建需要的对象,而不需要知道具体创建过程...
然后,我们有`OperationFactory`类,它是简单工厂模式的核心。这个类负责根据用户输入创建相应的`Operation`子类实例。工厂类通常有一个静态方法,如`CreateOperation`,接收一个表示运算类型的参数(例如,"+"、"-...
这里我们主要探讨基于Java的例子,即简单工厂模式。 简单工厂模式的核心思想是定义一个工厂类,这个类负责创建对象,而客户端代码不再直接创建对象,而是调用工厂类的静态方法来获取所需对象。这样做可以隔离类的...
Java简单工厂模式是一种设计模式,它是创建型模式的一种,用于将对象的创建过程封装...了解并熟练运用简单工厂模式是Java开发者进阶的必经之路,而Spring框架则是在实际项目中将工厂模式应用得淋漓尽致的一个典型例子。
简单工厂模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。这种类型的设计模式属于类创建模式,因为工厂类是基于类的。在简单工厂模式中,一个工厂类根据传入的参数来决定创建...
在C#中,实现简单工厂模式的一个例子可能是创建不同类型的形状对象,如圆形、方形等。工厂类可以有一个静态方法,接收一个表示形状类型的信息,然后返回对应的形状对象。例如: ```csharp public interface IShape ...
【Java 简单工厂模式】简单工厂模式是一种创建型设计模式,它的主要思想是提供一个工厂类,根据传入的参数动态地返回一个产品对象。这种模式将对象的创建与对象的使用分离,使得代码更加简洁且易于维护。 在Java中...
在这个案例中,"C++制作的简单工厂模式计算器"就是一个运用了简单工厂模式来构建计算器程序的例子。通过这个程序,我们可以学习到如何在C++中实现一个基本的四则运算计算器,并理解简单工厂模式在实际编程中的应用。...
### 抽象工厂模式简介与应用实例 #### 一、抽象工厂模式定义 抽象工厂模式是一种创建型设计模式,它能够让我们从一个公共接口中创建一系列相关或相互依赖的对象,而无需指定它们的具体类。该模式的核心在于提供了...
在"简单工厂模式之商场收银软件"的例子中,我们可以想象这个软件是用来处理商场的收银业务的。它可能包含了多种商品类型的结账逻辑,比如普通商品、打折商品、促销商品等。每种商品的结账规则可能不同,这就需要有...