Android三步完成配置的工厂模式

核心:提供一个创建对象的功能,不关心具体实现

例子

//根据配置文件

1.assets 创建config.properties

create_a=xxxx

2.class PropertiesFactory
 public static Api createApi(Context context) {
        try {
            // 加载配置文件
            Properties props = new Properties();
            // 如果放入了 app/src/main/assets文件中
            InputStream inputStream = context.getAssets().open("config.properties");

            // 如果放入了 app/src/main/res/raw 文件中
            // InputStream inputStream = context.getResources().openRawResource("config.properties");

            // Java的写法
            // InputStream inputStream = PropertiesFactory.class.getResourceAsStream("assets/config.properties");
            props.load(inputStream);

            Class clazz = Class.forName(props.getProperty("create_b"));
            return (Api) clazz.newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
3.实现
// 根据配置文件产生不同的实现
        Api api = PropertiesFactory.createApi(this);
        if (api != null) api.create();

参考:
网易云课程

你可能感兴趣的:(Android三步完成配置的工厂模式)