我正在基于Java EE的基于Web的应用程序上工作。

我的问题:我正在创建BaseAPI的实例,并将其传递给名为BaseUtil的实用程序类,如下所示:

package com ;

public class Test {
    public static void main(String args[]) {
        BaseAPI bApi = new BaseAPI();
        BaseUtil.getData(bApi);

    }

}



public class BaseUtil {

public static String getData(BaseAPI bapi) {

        bapi.addAccountIdParameter("SIM1");
        bapi.getData();
        return null;
    }
}




package com;

import java.util.HashMap;

public class BaseAPI {
    HashMap<String, Object> params = new HashMap<String, Object>();
    public void addAccountIdParameter(String value) {
        addParameter("ID", value);
    }
    public void addParameter(String name, String value) {
        if ((name != null) && (value != null)) {
            params.put(name.trim().toLowerCase(), value.trim());
        }
    }

    public String getData()
    {
        return "";
    }

}


一切正常。请让我知道这是一种有效的方法,还是会在任何地方产生负面影响?

最佳答案

这是一种完全有效的方法,通常不会产生负面影响。但是,需要大量更多信息来了解它是否是您API的最佳选择。一项建议:

将BaseUtil类的构造函数设为私有:

public class BaseUtil {
    private BaseUtil(){}
    ...
}


如果这只是一个静态实用程序类,这将防止您的其他类创建此类的对象。同样,如果您开始向此BaseUtil类添加字段,那么如果您的应用程序将是多线程的,则需要开始考虑线程安全性。

09-28 05:07