Das will mir nicht einleuchten.
lib.funktion( wert );
ist für den Laien sicher einfacher als:
lib.eigenschaft.parameter = wert;
Wenn die Zeile bis auf "wert" vorgegeben ist, sieht das schon etwas anders aus, aber vielleicht ist es auch nur eine Betrachtungsweise.
zumal du dir so die Möglichkeit der Prüfung verbaust und eine weitere Quelle für Tippfehler einbaust.
Damit hast du sicherlich Recht.
Wenn die Parameter Struktur zu komliziert würde, lassen sich natürlich auch entpsrechende Funktionen einbauen:
lib.setValue(wert);
was auch mehr im Sinn der OO Programmierung wäre.
Akzeptiert!
Ich greife dann über den Array zu, wenn ich gar nicht weiß, welche Module es gibt. In diesem Beispiel würde ich Eigenschaften (z.B. die Versionsbezeichnung) über alle enthaltenen Elemente ausgeben. Welche das sind, sollte intern definiert werden.
du kannst ja jederzeit überprüfen ob ein "Modul" (also eine Eigenschaft existiert) ein Array ist dazu nicht nötig, im gegenteil es macht sogar nur mehr Arbeit und ist langsam.
Wenn du z.b. eine Funktion nur aufrufen willst, wenn diese vorhanden ist:
if(typeof lib.func1 == 'function') lib.func();
Mein Beispiel war vermutlich schlecht gewählt, denn es sollte nur einen Nebenaspekt beleuchten, der für die eigentliche Funktionalität unwichtig ist. Ich wollte eine Möglichkeit haben, für diverse Funktionen deren Versionsbezeichnung auszugeben. Und zwar genau für die Funktionen, die in der Bibliothek eine Versionskennung besitzen. Das weiß ich von außen nicht. Also meinte ich ein Objekt zu benötigen, in dem alle diese Funktionen definiert sind.
Der bessere Ansatz wäre wohl eine Funktion, welche alle Funktionsobjekte auf das Vorhandensein einer Versionskennung untersucht und diese dann ausgibt.
Vielen Dank für die Anregungen. So wie ich es jetzt sehe, war mein Ansatz falsch und ich werde es jetzt mit einem Funktionsobjekt als Ausgangsbasis versuchen.
Ralf