lina-: Aspect J

Beitrag lesen

moin Hans :)

Vielleicht bin ich ja auf dem Holzweg, aber das ganze Aspect-Gelumpe mit Pointcut, Before und After kann ich doch auch mit ganz normalen Logging-Anweisungen ... bzw. dem üblichen try-catch-Kontrukten machen, oder ?

_Können_ kann man das - aber genau aus diesem Grund wurde ja AOP (Aspektorientierte Programmierung) "erfunden".

Nehmen wir mal ein praktisches Beispiel. Du möchtest loggen, welche Mehtoden ausgeführt werden aus deiner Klasse.
Mit normalen Logging-Anweisungen würdest du nun jeder Methode einen Logger geben und eine Anweisung z.B. "Führe Methode 'foobar()' aus".
Was machst du nun aber, wenn du lieber die Anweisung "foobar() wurde gestartet" haben möchtest. Genau.. du musst diesen String in _jeder_ Methode ändern. Wäre es da nicht schöner, du könntest das an einer Stelle ändern und es greift für alle?

Freilich ist dies hier ein Trivialbeispiel - aber vielleicht macht das den Sinn von AOP etwas klarer. Es geht hier um Effizienz, Nachvollziehbarkeit und Wartbarkeit.
Was anzustreben ist, ist die vernünftige Kapselung von Quellcode der Systemnahe Belange behandelt (System-Level-Cores). Hierzu gehört neben Logging auch Performance und Security.

liebe Grüße aus Berlin
lina-

--
Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)