Dude
Hallo,
ich bin gerade dabei ein neues Projekt in die Wege zu leiten und überlege bei manchen Klassen, ob Singleton oder Dependency Injection besser geeignet ist.
Ein kleines Beispiel bei dem ich z.B. momentan auf dem Standpunkt stehe, dass Singleton am einfachsten und geeignetesten ist: Bei einer Applikation gibt es eine Configuration class die alle Settings lädt. Die Settings sind natürlich für alle Klassen interessant, die auf die Konfiguration Zugriff benötigen. Für mich ein klarer Fall für Singleton, denn die Konfiguration ändert sich während der Laufzeit ja nicht. Ein anderen Beispiel wäre eine Request class die Seitenrequests performt. Auch die würde ich nach dem Singleton-Pattern entwerfen, denn wer braucht schon zwei Instanzen von einem Request?!
Doch nun habe ich viel Kritik am Singleton mitbekommen und zum Teil von Arbeitgebern die Info bekommen, dass wer den Singleton verherrlicht, keine Anstellung findet. Allerdings ist die Kritik am Singleton solange die Klasse nicht vererbt werden muss und wirklich nur eine Instanz benötigt, nicht auf meinen Anwendungsfall gezielt. Deshalb frage ich mich ob meine Vorgehensweise richtig ist, oder ob ich doch Dependency Injection verwenden soll. Es ist aus meiner Sichtweise einfach umständlicher, denn ich müsste fast jeder Klasse die Configuration übergeben.
Wie sieht das aus, hat jemand Erfahrung mit meinem Anwendungsfall? Ich denke ich stehe da nicht alleine da, das ist das 1x1 für jedes Projekt. An welchen Stellen von Projekten sollte ich auf Dependency Injection zurückgreifen und an welchen nicht?
ich bin gerade dabei ein neues Projekt in die Wege zu leiten und überlege bei manchen Klassen, ob Singleton oder Dependency Injection besser geeignet ist.
Ein kleines Beispiel bei dem ich z.B. momentan auf dem Standpunkt stehe, dass Singleton am einfachsten und geeignetesten ist: Bei einer Applikation gibt es eine Configuration class die alle Settings lädt. Die Settings sind natürlich für alle Klassen interessant, die auf die Konfiguration Zugriff benötigen. Für mich ein klarer Fall für Singleton, denn die Konfiguration ändert sich während der Laufzeit ja nicht. Ein anderen Beispiel wäre eine Request class die Seitenrequests performt. Auch die würde ich nach dem Singleton-Pattern entwerfen, denn wer braucht schon zwei Instanzen von einem Request?!
Doch nun habe ich viel Kritik am Singleton mitbekommen und zum Teil von Arbeitgebern die Info bekommen, dass wer den Singleton verherrlicht, keine Anstellung findet. Allerdings ist die Kritik am Singleton solange die Klasse nicht vererbt werden muss und wirklich nur eine Instanz benötigt, nicht auf meinen Anwendungsfall gezielt. Deshalb frage ich mich ob meine Vorgehensweise richtig ist, oder ob ich doch Dependency Injection verwenden soll. Es ist aus meiner Sichtweise einfach umständlicher, denn ich müsste fast jeder Klasse die Configuration übergeben.
Wie sieht das aus, hat jemand Erfahrung mit meinem Anwendungsfall? Ich denke ich stehe da nicht alleine da, das ist das 1x1 für jedes Projekt. An welchen Stellen von Projekten sollte ich auf Dependency Injection zurückgreifen und an welchen nicht?