[PERL] OOP gerechte DB-Verbindung


YKSI

Grünschnabel
Hi,

vielleicht kann mir jemand von auch auf die Sprünge helfen...

Zum Problem...

Z.Zt. mache ich meine ersten geh versuch in OOP-Perl :D, wie die meisten heutigen Webanwendungen brauch ich auch eine Verbindung zur Datenbank.

Diese baue ich dummerweise im "Konstruktor" im Objekt/Package DB.pm auf.
In DB.pm befinden sich jetzt einige Methoden welche ich logischerweise immer wieder nutzen möchte. Immer wenn ich aber ein neues DB-Objekt instanziere wird natürlich eine
weitere Verbindung zur DB geschaffen, welche im Arbeitsspeicher sinnlos vor sich hin vegetiert - meiner Meinung nach völlig unsinniger weise...

Die Kernfrage ist es nun, wie schaffe ich es OOP gerecht nur eine Verbindung in einer Instanz aufzubauen und von allen DB Objekten genau diese eine Verbindung zu nutzen?

Ein Möglichkeit wäre die Verbindung zu der Datenbank in einer Methode des DB-Objekts zu restellen, diese einmal aufrufen im "Wurzelobjekt", die Verbindung zurückgeben
und stets diese Verbindung dann in die neuen DB - Objekte zu pumpen - klingt allerdings umständlich und nicht gerade schön :)

MfG,
YKSI
 

YKSI

Grünschnabel
Hi,

das ging ja schnell und passt denk ich auch wie die Faust aufs Auge :D
Auf Singletons bin ich in der Zwischenzeit auch gestossen, und jetzt
am Überlegen, wie ich das Sinnvoll einbaue :)

Ist das Singleton also die Wahl schlecht hin, was derartige Probleme in Verbindung mit OOP angeht?
(Hab mal bei Wiki geschaut und über die Nachteile gelesen...)


Gruss,
YKSI