Hallo zusammen,
ich arbeite in einem Software-Team an einer Java-Anwendung. In unserem Code haben wir einen InstanceProvider. Dabei handelt es sich um eine Klasse mit vielen statischen Variablen und statischen Getter- und Setter-Methoden, um die Variablen zu befüllen. Die Klasse InstanceProvider dient dazu, auf Instanzen zuzugreifen, ähnlich wie bei globalen Variablen. Diese Objekte sind sehr unterschiedlich, aber sie haben alle gemeinsam, dass nur eine Instanz in der gesamten Software benötigt wird.
Ich bin eigentlich kein Fan von diesem InstanceProvider und würde ihn gerne loswerden. Ohne den InstanceProvider müsste man die Objekte per Dependency Injection an alle übergeben, die sie benötigen. Und wenn man mit Dependency Injections arbeitet, erhöht sich die Anzahl der Parameter im Konstruktor, was meinen Kollegen nicht gefällt.
Ich habe gerade gelernt, dass es schlechte Praxis ist, mit solchen "globalen" Variablen zu arbeiten. Deshalb würde ich den InstanceProvider gerne loswerden. Aber mir gehen die Argumente dagegen aus.
Wenn ich Google, kommen Argumente wie "man weiß nicht, wo im Code eine Instanz manipuliert wird, wenn man es so macht". Aber das kann auch bei Dependency Injection passieren, wo eine Instanz an einer vollkommen anderen Stelle im Code modifiziert wird.
Außerdem habe ich im Hinterkopf, dass so etwas problematisch sein kann, wenn man Unit-Tests schreiben möchte. Aber ich kann das Problem im Moment nicht genau benennen. Und wir arbeiten noch nicht mit Unit-Tests. Ich muss mein Team noch davon überzeugen, dass Unit-Tests sinnvoll sind.
Könnt ihr mir gute Argumente geben oder liege ich falsch und es spricht nichts dagegen, den InstanceProvider auf diese Weise zu verwenden?
ich arbeite in einem Software-Team an einer Java-Anwendung. In unserem Code haben wir einen InstanceProvider. Dabei handelt es sich um eine Klasse mit vielen statischen Variablen und statischen Getter- und Setter-Methoden, um die Variablen zu befüllen. Die Klasse InstanceProvider dient dazu, auf Instanzen zuzugreifen, ähnlich wie bei globalen Variablen. Diese Objekte sind sehr unterschiedlich, aber sie haben alle gemeinsam, dass nur eine Instanz in der gesamten Software benötigt wird.
Ich bin eigentlich kein Fan von diesem InstanceProvider und würde ihn gerne loswerden. Ohne den InstanceProvider müsste man die Objekte per Dependency Injection an alle übergeben, die sie benötigen. Und wenn man mit Dependency Injections arbeitet, erhöht sich die Anzahl der Parameter im Konstruktor, was meinen Kollegen nicht gefällt.
Ich habe gerade gelernt, dass es schlechte Praxis ist, mit solchen "globalen" Variablen zu arbeiten. Deshalb würde ich den InstanceProvider gerne loswerden. Aber mir gehen die Argumente dagegen aus.
Wenn ich Google, kommen Argumente wie "man weiß nicht, wo im Code eine Instanz manipuliert wird, wenn man es so macht". Aber das kann auch bei Dependency Injection passieren, wo eine Instanz an einer vollkommen anderen Stelle im Code modifiziert wird.
Außerdem habe ich im Hinterkopf, dass so etwas problematisch sein kann, wenn man Unit-Tests schreiben möchte. Aber ich kann das Problem im Moment nicht genau benennen. Und wir arbeiten noch nicht mit Unit-Tests. Ich muss mein Team noch davon überzeugen, dass Unit-Tests sinnvoll sind.
Könnt ihr mir gute Argumente geben oder liege ich falsch und es spricht nichts dagegen, den InstanceProvider auf diese Weise zu verwenden?