phpbar.de logo

Mailinglisten-Archive

[php] &$objekt == *RECURSION*

[php] &$objekt == *RECURSION*

Konstantin Rekk k.rekk at intermatix.de
Mon Apr 19 21:22:51 CEST 2004


On Monday 19 April 2004 19:53, patrick müller (aka elias) wrote:
> hi liste!
>
> Mal wieder eine OO Frage.
> Ich habe zwei Objekte, eines was nur Daten (DATA)
> (zu Bildern) enthält und ein anderes (DO) welches
> diese Daten verarbeiten kann. Damit ich aus DATA
> auf die Methoden von DO zugreifen kann lege ich
> es in letzterem per Referenz ab. Im nachhinein
> denke ich aber das das etwas blöd ist, weil zum
> beispiel bei einem var_dump(DATA) an bestimmter
> stelle ein *RECUSION* ausgespuckt wird und ich
> gehe mal nicht davon aus dass das so fein ist.
> Ausserdem muss ich ja bei vielen DATA Objekten
> eine Menge referenzen erstellen.
>
> Jetzt überlege ich ob ich die ganze Struktur
> wieder über den haufen werfe und ein par
> 'usability' einbußen mache oder ob es eine
> Strategie gibt die dieses Verfahren vereinfacht
> bzw. optimiert?
>
> Hat jemand eine Idee?

Dein Ansatz entspricht meiner Kenntnis nach nicht ganz dem OO-Ansatz,
Daten und Methoden zusammenzufassen und den Zugriff auf Daten zu kapseln,
in diesem Fall Bild ist eigenes Objekt mit eigenen Methoden, die Sichten oder 
Schnittstellen für Zugriff von außen definieren, Service-Funktionen werden 
als static implementiert!

Darüberhinaus bieten sich viele Möglichkeiten in Abhängigkeit vom
konkreten Problem, gemeinsam ist der obere Ansatz.
wichtigste:
a) DATA wird erweitert um Funktionalitäten von DO, wird quasi DO 
b) DO Basisklasse mit Bilddaten als Membervariable und Basisfunktionen
(DATA ist in DO).
c) DO kennt Bilddaten (referenz), hier aber nicht zu empfehlen, wegen dem 
oberen, dies nur geeignet wenn DATA eine eigene Funktionalität besitzt, und
nicht nur über DO verarbeitet wird.
d) ....

Hier könnte sich auch
das Factory, oder auch Strategy-Pattern anbieten, wenn du den 
Verarbeitungsmodus zur Laufzeit bestimmen willst.

Gruß.


-- 
Konstantin Rekk
Berlin
phone: +49 (0) 30 48623452
mobil: 0176 2100 6000
www.rekk.de
www.tanden-aikido.de


php::bar PHP Wiki   -   Listenarchive