1UnitedPower: onclick = function(){}

Beitrag lesen

Meine Herren!

Warum sind die zugehörigen Elemente denn in zwei Arrays verteilt…? Objektorientiert gesehen sollten sie jeweils gruppiert werden.

Im Allgemeinen müssen Elemente nichts Gemeinsames haben und sind nur über den Index miteinander verbunden.

Der Index ist keine Eigenschaft eines Elements. Den Index gibt es überhaupt nur, weil die Datenstruktur, mit der du die Elemente verwaltest (NodeList oder Array wie ich vermute), zufällig (1) einen Zugriffsmechanismus anhand eines Index' bietet.

(1) Zufällig stimmt natürlich nicht ganz. Aber du machst du Korrespondenz der Elemente anhand eines Implementations-Details fest, anstatt eine Schnittstelle dafür zur Verfügung zu stellen.

Nochmal in anderen Worten gefasst, weil die Essenz dieser Aussage schwierig zu vermitteln ist: Du hast Elemente a und b, die miteinander in Verbindung stehen. Das Element a ist uns bekannt, wir wollen uns nun das zugehörige Element b holen. In deiner bisherigen Lösung, müssen wir dafür Kenntnisse über die Datenstrukturen haben, die a und b verwalten. Wir müssen uns erst den Index von Element a besorgen und dann in der zweiten Liste das Element mit dem gleichen Index raussuchen. Ein schönerer Entwurf wäre es, wenn es eine Schnittstelle gäbe, in die wir a reinpacken und die uns sofort b liefert, und zwar ohne das wir Umwege gehen müssen. Ich hoffe, ich konnte mich einigermaßen Verständlich ausdrücken.

--
“All right, then, I'll go to hell.” – Huck Finn