AOP (Aspect-oriented Programming) wird vorwiegend mit einer besseren Modularisierung von Cross-Cutting Concerns (CCCs) in Aspekten assoziiert. Ein genauerer Vergleich mit Patterns legt bereits die Eleganz einer AOP-Lösung nahe, da man AOP auch als eine deklarative und einfacher benutzbare Form des Interceptors ansehen kann. Bei genauerer Betrachtung leistet AOP aber in vielen Fällen mehr. Vergleichbar zu einem Komponentencontainer bleiben Aspekte transparent für die Klassen, auf die sie einwirken, aber mit einigen Zusatzvorteilen. Dieser Artikel geht speziell auf das Thema AOP und Transparenz ein und diskutiert die Einschränkungen alternativer Pattern-Lösungen. Dennoch kann erst eine Kombination von AOP und Patterns CCCs gut abdecken.
Egon Wuchner