Einzelnen Beitrag anzeigen
  #2  
Alt 08.01.2011, 18:06:11
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: OOP Zugriff auf Objekte fremden Klassen

Singletons sind böse!
Ein stumpfer Ersatz für globale Variablen.
Selten sinnvoll.
Was ist, wenn es mehrere (verschiedene) Logger geben soll?
Was ist, wenn du mal eine Ableitung/Kind eines Loggers verwenden willst?

Ob etwas Singleton sein darf/soll/muß, ist eine Anforderung der Applikation. Darum darf sowas in einem Framework nicht auftauchen.
Selbst die Helden des ZF haben das mittlerweile geschnallt und eliminieren jetzt alle Singletons in ihrem Framework.
Bitte tappe nicht in die gleiche Falle.




Logger über den Constructor übergeben ist auch böse!
Denn nicht immer brauchen alle Objekte einen Logger.
Das Fachwort dafür ist übrigens "Constructor Injection"
Besser wäre also die "Setter Injection".

Im Falle deiner Controller wäre es sicherlich Sinnvoll diese per "Factory" zu erzeugen.
Mache dich generell über das "Dependency Injection Pattern" kundig.
Denn witziger weise, bist du nicht die/der erste mit diesem Problem!
Mit Zitat antworten