3 Konfigurationsmöglichkeiten von Software
Schnelle Entwicklungszyklen durch sich häufig ändernde Anforderungen erfordern flexible
Softwarearchitekturen. Hier setzt das 1997 veröffentlichte Paradigma der Aspektorientierte
Programmierung an. Diese soll die objektorientierte Programmierung erweitern, wird aber
auch als eigenständiges Paradigma92 welches auch COM, CORBA oder Entwurfsmuster
nutzt, verstanden.
Hauptidee der Aspektorientierten Programmierung ist die vollständig Realisierung des Separation
of Concerns, die fachliche Trennung wichtiger Sichtweisen oder Teile in der Programmierung,
denn viele Funktionalitäten sind in der objektorientierten Programmierung auf
diverse Klassen verteilt, so genannte Cross-Cutting-Concerns. Dazu bietet die Aspektorientierte
Programmierung Methoden und Techniken an, um funktionale Komponenten und Aspekte
orthogonal zur Programmsemantik zu differenzieren, und diese wieder in eine Gesamtkomposition
zurückzuführen. Die Wiederverwendbarkeit der Teile steht dabei im Vordergrund.
Aspekte verkörpern hierbei die über den Klassen verstreuten Codefragmente von
Funktionen, die das Softwaresystem an diversen Stellen beeinflussen. Beispiele hierfür sind
Rechteüberprüfungen, Persistenz, Synchronisation von Daten, Objektinteraktionen und Parameterübergaben.
Sie verkörpern einerseits die Anforderungen und kapseln sie gleichzeitig als
Programmkonstrukt92.
Sie können Attribute, Kostanten, Member-Typen und Funktionen enthalten,
oder auch Algorithmenteile ersetzen und später aufrufen. Die Aspekte werden in eigenen
Klassen oder anderen Sprachfragmenten ausgelagert. Verbindungspunkte, sogenannte
Join Points, verbinden sie mit dem Rest des Programms. Ein Weaver kontrolliert, welche
Klassen von welchen Aspekten angesprochen werden sollen und „verwebt“ sie untereinander.
Der Vorteil der Aspektorientierung liegt darin, dass Aspekte auch nach der Kompilierung in
Komponentenarchitekturen eingepflegt werden können, da die Aspektorientierte Programmierung
hilft, die entscheidenden Programmteile, die Concerns, zu erkennen, zu erweitern und
wieder zu verwenden. Dazu müssen (vgl. Abbildung 5)94
Die Vor- und Nachteile seien hier zusammengefasst:
Bewertung der Aspektorientierten Programmierung95
Vorteile
Nachteile
Tabelle 15: Bewertung der Aspektorientierten Programmierung
Einen ähnlichen Focus haben die Subjektorientierte Programmierung, Compostion Filters
oder die Adaptive Programmierung96
Top|
Home|
<< Zurück |
Nächste >>
" TARGET="_blank"> >> Home Page << |