Aspektorientierte Programmierung (AOP)
摘要
Implementierungen von größeren Anwendungen werden schnell komplex. Daher versuchen wir das Prinzip Separation of Concerns umzusetzen, indem wir die verschiedenen Funktionalitäten möglichst getrennt halten. Jede Klasse soll eine hohe Kohäsion aufweisen. Aber es werden doch immer wieder „andere“ Funktionalitäten benötigt. Ein einfaches Beispiel ist ein Log-Mechanismus. Was versteckt sich dahinter? Es soll etwas beobachtet werden und zu einer spezifischen Aktivität führen. Neben dem Protokollieren sind Überprüfungen denkbar wie z. B. Sicherheitschecks, ob ein Nutzer auf eine bestimmte Methode zugreifen darf. Aspekte ermöglichen es, Funktionalitäten an einer Programmstelle zu definieren und in mehreren Klassen zur Verfügung zu stellen.