Referenzen und Objekte

Objekt-orientierte Programmierung ist bekanntermaßen ein sehr verbreitetes Konzept zur Modellierung komplexer Anwendungen. Die Programmiersprache Java hat bereits seit ihrer Einführung 1995 dieses Konzept aufgenommen. Auch die Laufzeitumgebung, also die Java Virtual Machine (JVM) berücksichtigt dieses Konzept und implementiert deshalb ein Speichermodell, das auf Referenzen und Objekte ausgerichtet ist. Weiterlesen

Weiterlesen

Docker Compose

Übersicht: Was ist Docker Compose?

Die Definition eines Docker-Containers erfolgte bisher durch die Parametrisierung des docker create-Befehls. Dies wurde so auch in früheren Artikeln so beschrieben und ist auch ein durchaus korrekter Ansatz. Allerdings werden diese Befehle spätestens in dem Moment sehr unhandlich und unübersichtlich, wenn mehrere Container miteinander verlinkt werden und damit voneinander abhängig sind. Weiterlesen

Weiterlesen

Begriffe der Aspektorientierten Programmierung

Die Begriffe der Aspektorientierte Programmierung

Das AOP-Konzept wurde in einem vorherigen Artikel vorgestellt. Darin wurden Aspekte an Hand von Querschnittsfunktionen eingeführt, die auf Schnittstellen-Ebene vorhandene Implementierungen erweitern. AOP verfeinert dieses Vorgehen jedoch noch deutlich. Die zum detaillierten Verständnis notwendigen Begriffe der Aspektorientierten Programmierung werden im Folgenden definiert. Weiterlesen

Weiterlesen

Aspektorientierte Programmierung

Grundlagen der Aspektorientierten Programmierung

Aspektorientierte Programmierung (AOP) wird in praktisch allen modernen Software-Projekten eingesetzt. Grundelement dieses Ansatzes ist der Aspekt, welcher eine Querschnittsfunktion, englisch: ein Cross-cutting concern, realisiert. Querschnittsfunktionen werden im Modell der Anwendung dadurch erkannt, dass Schnittstellen-übergreifende gemeinsame Abläufe identifiziert werden. Diese gemeinsamen Sequenzen sollen nun aber natürlich nicht durch Code-Replikation umgesetzt werden; dies würde ja zu schlecht wartbaren Anwendungen führen. AOP vermeidet diese Duplikation und steigert damit die Qualität des Codes. Weiterlesen

Weiterlesen