以下類顯示類似於實際用例的內容。它總是返回同一個線程的同一個實例。設計模式名稱:是工廠嗎?
public class LookingForName {
private static final ThreadLocal<Something> threadLocal =
new ThreadLocal<Something>(){
@Override
protected Something initialValue() {
return getSomethingSpecial(); // not relevant
}
};
/**
* @return always the same instance of "Something" for the current thread.
*/
public static Something getInstance() {
return threadLocal.get();
}
}
你會怎麼稱呼它?這是一個「工廠」嗎?一個「價值持有者」? 「ThreadLocalStore」?
我會用'ThreadLocalSomething'去,因爲它描述了很好的事情。 – deamon 2010-08-11 13:00:02