Aspektorientierte Programmierung mit JavaScript und Mootools
Bei aspektorientierter Programmierung handelt es sich um ein Programmierparadigma, das anstrebt, verschiedene logische Aspekte einer Anwendung getrennt voneinander zu entwerfen, zu entwickeln und zu testen. Hierbei können HTML-Webseiten ebenso als Anwendungen gesehen werden, welche in Zeiten von Web 2.0 ständig höhere Anforderungen besitzen.
Aspektorientierte Programmierung
Aspekte sind in diesem Sinne eigenständigen Anforderungen der HTML-Anwendung, die nicht einem einzigen HTML-Element (H2, Div-Containern, id, class, etc.) zugeordnet werden können, sondern vielmehr von mehreren Elementen berücksichtigt werden müssen.
Ein Anwendungsfall, den ich in einem Web-Projekt umsetzen musste, möchte ich nun genauer erläutern.
Die Anforderung bestand darin, eine Vielzahl an HTML-Textelementen mit Überschrift und analoger Struktur auf und zu klappbar zu gestalten, ohne dabei jedes Textelement (inkl. Überschrift) mit JavaScript zu versehen. Redakteure sollten weiterhin wie gewohnt ihrer Arbeit nachgehen können, ohne dabei extra geschult zu werden. Außerdem sollte der Quelltext wartbar und übersichtlich bleiben.
Da das Web-Projekt auf die Funktionalitäten des JavaScript-Framework Mootools aufsetzt, wurden die Anforderungen auch mit diesem Framework umgesetzt.
Die wesentlichen Punkte für die Implementierung sind nachfolgend dargestellt:
Screenshot der Anforderung
Link zur Seite
URL https://mindsquare.de/knowhow/
HTML-Element-Struktur
Den verwendeten HTML-Quelltext biete ich auch gleich zum Download an.
Download AOP_HTML_Code.pdf
JavaScript Source Code
Die JavaScript-Datei ist unterteilt in Klassen-Definition und Window-Eventhandler (domready). Falls es Fragen zu den einzelnen Abschnitten gibt, steh ich gern’ Rede und Antwort.
Download AOP_Mootools_JavaScript_Code.pdf