@molily & @unknown
Hallo,
vielen Dank für eure Einschätzungen und Anregungen! Jetzt ist mir zumindest klar geworden, dass ich versucht habe, das Pferd von hinten aufzuzäumen. Ich hätte mit der eigentlichen Problemstellung anfangen sollen. Ich dachte, ich muss nur noch meine Lösungsansätze abwägen...
Also: Ich arbeite mit einem Framework (gesetzt durch den Auftraggeber) bei dem einzelne HTML-Seiten über xml-Dateien definiert werden. Dabei kann es auch zu inhlatlichen Seitenkonglomeraten(Gruppe) in Form von Tabs und Untertabs kommen. Einzlne Seiten müssen dann bestimmte Funktionalitäten bekommen, auf Klicks reagieren etc. Es wird dann eine Businesslogik angestoßen, die je nach dem per AJAX an den Server zur Verarbeitung geschickt werden, andere Dinge werden per JS an der "Oberfläche" abgearbeitet.
Es gibt also drei Arten von JS-Kategorien:
1. Allgemeingültige JS für alle Seiten/Gruppen
2. JS für eine bestimmte Gruppe
3. JS, die nur auf einer bestimmten Seite Verwendung finden
Da ich bei Problemen oder Erweiterungen vom generierten HTML wieder rüchwärts zu den einzelnen XML-Seiten(die ich auf Browsereben nicht mehr sehe) und ihren Komponenten (zugeordneten JS) schließen muss, wäre ein Aufruf von JS-Funktionen/Methoden in der Art nicht schlecht:
1. Allgemeingültige JS für alle Seiten/Gruppen
Common.Domhelper.toggleButton();
Common.Ajax.getXYData();
2. JS für eine bestimmte Gruppe
Object.Handlecontrols.getABCId();
Object.States.getObjectState()
3. JS, die nur auf einer bestimmten Seite Verwendung finden
ObjectPart.Calculation.getMonthRate();
ObjectPart.ButtonStates.setButtonDisabled("buttonid");
Das hätte für mich den Vorteil, das ich dann, wenn alles zusammengeneriert wird, sofort erkennen kann, wo die entsprechende Funktionalität steckt.
Common -> common.js
Common.Domhelper -> Gruppe von JS-Functions im Bereich Domhelper ( "Domhelper = function(){}" )
Common.Domhelper.toggleButton(); -> Die benütigte "Methode" in dieser Gruppe in der JS common.js
Sowas würde mir ungemein helfen, die Arbeit zu organisieren und zu strukturieren. Jetzt also die tatsächliche Frage: Was ist dafür die geeignete JS-Struktur/Architektur? Die Methoden sind überwiegend "statischer" Natur, abundzu macht es sicher Sinn ein Art von Objekten für bestimmte Zustände von "Gruppen" vor zu halten.
Viele Grüße
Siri