使用工厂模式,让UserDao的实现在在工厂中生成,而工厂是可以配置的
// 一、定义工厂类 public class ObjectFactory { // 用于存放“对象名--实现类的全名”这种对应关系的键值对集合 private static Properties properties; static { // 读取配置文件 ObjectFactory.properties,具体代码略。 properties.load(inStream); } // 可创建对象实例的工厂方法,接受的参数是对象名,如UserDao、RoleDao等 public static Object createInstance(String name) { // 首先根据名称获取对应的实现类的类名,要是全限定名才行(带包名的) String implClassName = properties.getProperty(name); // 通过反射生成实例并返回(没有处理异常) return Class.forName(implClassName).newInstance(); } } // 二、使用工厂生成实例 # UserDao = cn.itcast.dao.impl.MySQLUserDaoImpl # UserDao = cn.itcast.dao.impl.OracleUserDaoImpl UserDao = cn.itcast.dao.impl.MySQLUserDaoImpl // 三、使用工厂生成实例 public class UserServiceImpl { private UserDao userDao = (UserDao) ObjectFactory.createInstance("UserDao"); // ... }
以上代码就是通过工厂实现的与实现类的解耦,这种情况下如果想要更新别外一个实现类,只需要修改配置文件就可以了。
相关推荐
3. Qt工厂模式工程 4. Qt工厂模式例程 5. Qt工厂模式例子 6. 简单工厂模式 部分源码实例: // 奔驰工厂 class BenzFactory : public AFactory { public: ICar* CreateCar() { return new BenzCar(); } }; // ...
java工厂模式一个简单的工厂模式例子工厂模式简单代码案例,仅供参考。java工厂模式一个简单的工厂模式例子工厂模式简单代码案例,仅供参考。java工厂模式一个简单的工厂模式例子工厂模式简单代码案例,仅供参考。...
在这个名为"工厂设计模式简单实例"的资料中,我们可以期待看到一个基础的工厂模式实现。 工厂模式的核心思想是定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪一个类。这样,客户端在使用时无须知道...
在软件设计模式中,工厂模式是一组非常基础且实用的设计模式,主要分为简单工厂模式、工厂方法模式和抽象工厂模式。这些模式都是为了解决对象创建的问题,通过封装对象的创建过程,使得代码更加灵活,易于扩展和维护...
C#中的工厂模式分为简单工厂、抽象工厂和单例模式三种,每一种都有其特定的应用场景和优势。 1. **简单工厂模式**: 简单工厂模式是一种静态工厂方法,它创建一个具体的对象而无需暴露创建逻辑。在C#中,我们可以...
简单工厂模式是工厂模式的一个具体实现,也被称为静态工厂方法模式。在这种模式中,通常由一个静态方法来创建产品对象,这个静态方法可以根据传入的参数或者特定条件来决定返回哪个具体类型的产品。简单工厂模式的...
3. **工厂类**:负责创建具体产品对象,根据输入条件判断并返回相应的产品实例,它是简单工厂模式的核心。 在实际应用中,工厂类通常包含一个静态方法,如`createProduct()`,这个方法根据传入的参数或者条件来决定...
在给定的"Java 简单工厂模式例子"中,可能包含如下代码结构: ```java // Product(产品)接口或抽象类 public interface Computer { void start(); } // ConcreteProduct(具体产品)类 public class Laptop ...
### 抽象工厂模式简介与应用实例 #### 一、抽象工厂模式定义 抽象工厂模式是一种创建型设计模式,它能够让我们从一个公共接口中创建一系列相关或相互依赖的对象,而无需指定它们的具体类。该模式的核心在于提供了...
C#工厂设计模式简单实例——计算器 public class Factory { //创建一个静态方法 public static Operation CreateOper(int a, int b, string oper) { //创建一个Operation对象 Operation op = null; switch ...
本文将深入探讨"反射"以及两种常见的工厂模式:"简单工厂模式"和"工厂方法模式",并结合提供的文件名称来解析这些概念。 首先,我们来看"反射"。在Java等面向对象语言中,反射是一种强大的工具,它允许程序在运行时...
在这个压缩包中,包含了三种工厂模式的C++实现:简单工厂模式、工厂方法模式以及抽象工厂模式。让我们一一探讨这些模式。 1. 简单工厂模式: 简单工厂模式是一种静态工厂方法,它提供一个公共的工厂类来创建对象。...
这里我们将重点讨论简单工厂模式,这也是标题所提及的实例。 简单工厂模式通常包含三个主要角色: 1. **产品接口(Product)**:定义了产品的公共接口,所有具体产品都应实现这个接口,以便于工厂类能够返回一个...
简单工厂模式是一种专门负责将大量有共同接口的类实例化的模式,而不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一个类。 简单工厂模式的结构主要包括: 1. 产品...
在实际项目中,工具类库也经常采用工厂模式,如Apache Commons Lang中的`StringUtils`就是一个简单工厂的例子,它提供了静态方法来创建或处理字符串对象。 总结: 工厂模式是设计模式中的重要成员,它有效地解决了...
在这个例子中,`ShapeFactory`是简单工厂模式的关键部分,它根据输入的形状类型返回相应的形状实例。这种方式使得代码更易于维护,因为添加新的形状类型只需要在工厂类中增加一个判断分支,而不会影响到使用工厂的...
接下来,我们创建工厂类`CompanyFactory`,它是简单工厂模式的核心,负责根据输入条件(如公司类型)创建相应的子公司实例: ```cpp class CompanyFactory { public: static std::unique_ptr<Company> ...
在给定的"简单工厂设计模式小例子"中,我们有一个C#实现的控制台应用程序,该程序模拟了一个简单的计算器。这个计算器能够执行基本的数学运算,如加法(+)、减法(-)、乘法(*)和除法(/)。让我们深入了解一下这...
简单工厂模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。这种模式使得代码能够将实例化的责任封装起来,使得客户端代码无需关心具体的对象实现,只需要知道一个公共接口即可...
简单工厂模式(Simple Factory Pattern)属于创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。简单工厂模式使代码创建对象的过程变得更加灵活,而不必硬编码具体的类名。 ### 2. 角色...