Mailinglisten-Archive |
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