Sagen wir, ich habe eine Helper-Klasse wie mit ein paar Methoden
%Vor%Was sind die Vor- / Nachteile, die Methoden in dieser Klasse statisch zu machen? Welches ist die bessere Praxis?
Wenn Ihre Klasse nur Hilfsprogramme (wie Ihre) anbietet, glaube ich, dass es besser ist:
final
(es gibt keinen Grund sie zu erweitern) private
-Konstruktor, um den Versuch zu vermeiden, eine Instanz der Klasse static
. Wenn Sie sich dafür entscheiden, alle Methoden statisch zu machen, müssen Sie sich der Auswirkungen bewusst sein, die das auf Ihre Fähigkeit haben wird, andere Klassen zu testen, die davon abhängen.
Es schränkt Ihre Möglichkeiten zum Spotten stark ein (oder macht es zumindest schmerzhafter)
Ich glaube nicht, dass es eine richtige Antwort auf unsere Frage gibt - es hängt davon ab, was die Methoden tun. Zum Beispiel ist es einfach, sich ein staatenloses Datenzugriffsobjekt vorzustellen - wenn Sie alle seine Methoden statisch machen, dann bauen Sie eine Abhängigkeit von der Datenquelle in Ihrem Testzyklus auf oder machen Ihren spöttischen Code viel hässlicher