我有一个类,其单个实例需要由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