La classe suivante montre quelque chose de similaire à un cas d'utilisation réel. Il renvoie toujours la même instance pour le même thread.Nom du motif de conception: Est-ce une usine?
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();
}
}
Comment l'appelleriez-vous? Est-ce une "usine"? Un "détenteur de valeur"? "ThreadLocalStore"?
Je vais aller avec «ThreadLocalSomething» car il décrit assez bien ce qui se passe. – deamon