BeanFactory的思想-抽象工厂设计模式

BeanFactory的思想

 1.BeanFactory所用到的设计模式是抽象工厂设计模式。

  此模式是通过配置文件+反射来动态得到对象。那么这种模式有什么好处吗?首先,简单谈下当未使用开发框架时,我们写好的项目是要发布出去的,及发布到Tomcat上,以便客户访问,这时,我们所发布的项目不会包含有项目源码的,都是class文件和前端页面还有配置文件,如果我想换个数据库了,那么一般情况下,都不会选择重新编译源文件重新发布项目,而是要想办法解决这个问题,那么抽象工厂模式就能很好的解决这个问题。将需要涉及到的对象放到配置文件中,再通过反射动态得到相应的对象,那么只需要简单改下配置文件就可以了,而不需要去重新编译,大大方便了开发与部署。

 2.代码

  

package com.wuhaitao.util;

import java.util.ResourceBundle;

/**
 * @Classname BeanFactory
 * @Description TODO
 * @Date 2019/3/13 16:05
 * @Created by wuhaitao
 */
public class BeanFactory {
    public static  T newInstance(Class clazz) {
        //通过字节码对象得到接口名
        String name = clazz.getSimpleName();
        //读取配置文件,通过接口名找到相应实现类对象名
        ResourceBundle resourceBundle = ResourceBundle.getBundle("bean");
        String className = resourceBundle.getString(name);
        //通过反射创建实现类对象
        try {
            return (T) Class.forName(className).newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

你可能感兴趣的:(BeanFactory的思想-抽象工厂设计模式)