我有一個類,其單個實例需要由Java中的多個類使用。我發現了兩個解決方案相同: 1。通過實例方法參數 2.使用靜態工廠在Java(OOP)中共享多個請求的相同實例
我的問題是,如果我使用靜態的工廠,我怎麼能區分傳入的請求時,我使用的是靜態方法。我想避免第一個解決方案,因爲有很多類將使用此實例。另外,如果不是上面提到的,推薦最好的設計。
代碼示例:
class MyClass{
Map<String, List<String>> myMap=new ConcurrentHashMap();
public static void addToMap(String key, String value){
if(myMap.containsKey(key)){
List<String> stringList=myMap.get(key);
stringList.add(value);
}
else{
myMap.put(key,value);
}
}
}
我想在很多地方執行此add方法,而程序執行例如:
方法addEmployee():
if(employeeName==null){
MyClass.addToMap("ER101", "Name Error");
}
Method insertInDB():
catch(SQLException e){
MyClass.addToMap("SQL", "Error Occurred in DB Operation");
}
感謝
只是做一個單身? – 12dollar
@hetalashar您的問題需要更多解釋。你能發表一些示例代碼來解釋你的想法嗎?當你說*使用靜態工廠時*和*當我使用靜態方法*時如何區分傳入請求? – CKing
不能使用單身......有多重要求。 – codegeek