工厂模式

注意:复杂对象的创建适合使用工厂模式,简单对象如果只需要new出来,无需使用工厂模式。使用工厂模式,则需要创建工厂类,会增加系统复杂度。

使用工厂模式的时候,我们在创建对象的时候不会对客户端暴露对象的创建逻辑,并且是通过一个共同的接口实现对象的创建。

引用一个简单demo的UML图:

下面这个demo也是比较简单通用:

public class ObjFactory {
    public static <T> T getObj(Class<? extends T>  clazz){
        T o = null;
        try {
            o = (T)Class.forName(clazz.getName()).newInstance();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

        return o;
    }
}

 --------------------------------------------------------------

与君共勉,大家加油!

原文地址:https://www.cnblogs.com/rayallenbj/p/8449426.html