phpbar.de logo

Mailinglisten-Archive

[php] Objekte: Instanzierung nur in der Factory zulassen und nicht ausserhalb

[php] Objekte: Instanzierung nur in der Factory zulassen und nicht ausserhalb

Marco Weber marco.weber at uni-trier.de
Fre Okt 10 13:28:48 CEST 2008


Hallo,

Also ich hab mal eine Frage:

Wir schreiben gerade für ein grösseres Projekt eine eigene API.
Im moment haben wir z.B. ein User-Objekt.
Jeder benutzer hat ein eigenges Objekt als Singleton.
Also z.B. das Objekt für den User A existiert auch nur 1 einziges Mal
egal wie oft man es haben möchte.
Das User-Objekt könnte man unter Angabe der richtigen Parameter zwar
direkt mehrmals Instanzieren.
Aber man sollte halt besser die Factory Benutzen, die sicherstellt, dass
es nur einaml Instanziert wird und sonst die passende Referenz zurückgibt:
userManager::getUserById(1);

Da also nur die Klasse userManager user Objekte erzeugen soll, kam nun
die Frage auf, wie man in das am besten so macht, dass sich user-Objekte
nur von userManager erzeugen lassen. (Und nicht von Hand)

Meine erste Idee wäre, dass man beim Konstruktor des User Objektes ein
Token Übergeben muss. ( Das sollte zumindest etwas abschrecken, ist aber
keine befriedigende Lösung )

Gibts da noch was besseres, was man tun könnte?

Grüsse
    Marco

php::bar PHP Wiki   -   Listenarchive