Ich habe ein Singleton-Objekt, das auf einer meiner Basisklassen erstellt wird.Software Design, Lesbarkeitsproblem, statische vs Instanz Methode
public class SomeClass
{
private static final MySingletonClass _singletonObject = new MySingletonClass()
protected final getSingletonObject()
{
return _singleonObject;
}
}
Ich bin unentschlossen, wenn ich die Methode statisch machen sollte oder nicht. Mein Entwurf sagt, dass die Methode sollte statisch sein, weil das Objekt statisch ist, aber mein "Benutzer" Geist sagt, dass die Methode eine Instanz sein sollte, da die Verwendung dieses Objekts nur sinnvoll ist, wenn innerhalb eines abgeleiteten Klassenmitglieds zugegriffen wird.
public class SomeDerivedClass extends SomeClass
{
public void someMethod()
{
// If static can be used SomeClass.getSingletonObject()
getSingletonObject();
}
}
Die Verwendung ist genau das gleiche die einzige visuelle Unterschied Art und Weise ist, dass die IDEs behandeln statische und Instanzmethoden, nicht signifikant durch meine Frage.
Das löst mein Problem nicht, da ich nicht möchte, dass die Instanz für alle Klassen publiziert wird, nur für Unterklassen der SomeClass. – DVD
Dann sollte es nicht statisch sein, nur um es endgültig zu machen. –
Aber ich möchte, dass das Objekt von mehreren abgeleiteten Klassen Instanzen xD – DVD