[Singleton] question sur variable static
Bonjour,
j'ai créé un singleton en définissant également des variables A et B.
par commodité je les ai déclaré en static au lieu de définir des getter/setter.
cependant en lançant findBugs il me donne ce code erreur
Citation:
ST: Write to static field from instance method (ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD)
This instance method writes to a static field. This is tricky to get correct if multiple instances are being manipulated, and generally bad practice.
voici le code de mon singleton
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
public class XSingleton {
private static XSingleton _singleton;
private static XSearcher _searcher;
private static XReader _reader;
private XSingleton() {
super();
}
public static final XSingleton getInstance()
{
return _singleton;
}
static final void initialize(XSearcher indexSearcher, XReader indexReader)
{
_singleton = new XSingleton();
_searcher = indexSearcher;
_reader = indexReader;
}
....
} |
Ma question: quelle est le best practice pour les singletons vis a vis de ces attributs?
dois je enlever le mot clé static devant la définition de _searcher et de _reader et dois je déclarer à la place des getter/setter?
ou alors je ne tiens pas compte de findBugs pour ce cas
merci d'avance