我正在基于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类添加字段,那么如果您的应用程序将是多线程的,则需要开始考虑线程安全性。