Aspektorientierte Programmierung in JavaScript 10.09.2016, 10:12 Uhr

Aspekte

Über die aspektorientierte Programmierung lassen sich bestimmte Funktionalitäten vom eigentlichen Anwendungscode trennen.
(Quelle: Bild: shutterstock / bleakstar)
Bei der aspektorientierten Programmierung (kurz AOP) handelt es sich um ein Programmierparadigma, welches im Zusammenhang mit der objektorientierten Programmierung zum Einsatz kommt und deren Idee es ist, generische Funktionalitäten wie etwa Logging, Caching, Transaktionsmanagement etc. (sprich sogenannte Cross Cutting Concerns oder im Jargon der aspektorientierten Programmierung auch Aspekte) vom eigentlichen Anwendungscode getrennt zu halten und den Code dadurch insgesamt klarer und modularer zu halten.
Betrachten wir als einfaches Beispiel das Logging. Wer kennt folgendes nicht? Häufig möchte man wissen, mit welchen Argumenten eine Methode zur Laufzeit aufgerufen wird. Beispielsweise, um in einem Produktivsystem Fehleranalyse zu betreiben oder ähnliches. Dazu baut man an den Anfang der jeweiligen Methode einen entsprechende Logging-Aufruf ein und versieht diesen vielleicht noch mit einem Feature Toogle, um das Logging bei Bedarf an- bzw. wieder abzuschalten. Eventuell greift man dabei auch auf spezielle Logging-Bibliotheken wie winston (https://github.com/winstonjs/winston) zurück, welche in dieser Hinsicht deutlich flexibler sind als reine console.log()-Aufrufe. Aber all das ändert jedoch nichts an der Tatsache, dass der Logging-Code direkt im Anwendungscode steht.

web & mobile DEVELOPER

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt web&mobile Developer plus Kunde.
  • 2 Monate Gratis testen
  • Über 4.000 qualifizierte Fachartikel
  • Diverse DevBooks thematisch für Sie zusammen gestellt
  • Webcasts von 30 - 90 Min.
  • Aufzeichnungen von ausgewählten Fortbildungen und Konferenzen
  • Auf jedem Gerät verfügbar