Zitat:
|
Zitat von fantast um eine saubere struktur zu erzeugen muessen membervariablen mit accessors ausgestattet werden |
Um eine ordentliche Struktur zu erzeugen, sollte überhaupt nicht auf einzelne Member-Variablen zugegriffen werden, auch nicht durch einen Accessor. In den meisten Fäälen sind Accessoren ein Anzeichen auf eine nicht-OOP-Struktur, die sich ein OOP-Kleidchen angezogen hat.
Zitat:
|
Zitat von fantast habe ja die rekursive alternative dazu gegeben |
Erstens ist deine Variante iterativ und nicht rekursiv. Zweitens wirkt sich das nicht auf den Zugriff von aussen aus, und genau der ist das relevante.
Zitat:
|
Zitat von fantast . und was waere denn deiner meinung nach eine bessere methode, um auf ein mehrdimensionales array, dessen genaue struktur man nicht kennt zuzugreifen ? |
Wenn es eine Baumstruktur ist, sollte man es auch als Baum darstellen und nicht als Array. Bäume stellt man normalerweise durch Parent-Child-Verknüpfungen dar, z.B. wie ich beschrieben habe durch verschachtete Objekte. Wie beim DOM, nur viel schlanker.
Zitat:
|
Zitat von fantast wenn du deinen link oben genau laesest, wuerdest du auch folgendes entdecken: Zitat: |
A client of the class needs to move the data to some external medium. Examples include: Database, files, network transport and user interface. These are often perceived as necessary evils. I would like to explore other options.
| |
Hier ist der Accessor, wie üblich, nur ein Hack, der einen zufriedenstellt, weil man ja OOP gemacht hat, der aber eigentlich nur verbirgt, dass man es besser machen könnte. Ohne direkten Zugriff auf eine einzelne Variable. Die Verantwortlichkeiten sind einfach falsch organisiert. Hier wird eine Entscheidung auf den Aufrufer übertragen, die vom Objekt selbst getroffen werden sollte. Wie meistens bei Accessoren...