20 Jahre Erfahrung FreeCall 0800 tutegos

Aspektorientierte Programmierung mit AspectJ

Dieses Seminar führen wir im Moment nicht durch.

Die Einheit der Modularisierung in der Objektorientierung ist eine Klasse (Daten und Verhalten), aber nicht alle Belange sind mit diesem Konstrukt sauber zu modularisieren; in der Praxis kommen weitere querschneidende Verantwortlichkeiten dazu. Einige typische Beispiele sind Logging, Observierung und Transaktionsmanagement. Symptomatisch sind vor allem ähnliche oder identische Codefragmente, die sich in der gesamten Anwendung wiederholen und Fragmente mit unterschiedlichen Verantwortlichkeiten, die innerhalb einer Klasse vermischt sind. Das Resultat ist eine zerstörte Modularisierung, die Verständlichkeit, Wartung und Wiederverwendung erschwert. Die Modularisierungslücken können durch Aspekt-orientierte Programmierung (AOP), eine Weiterentwicklung der objektorientierten Programmierung (OOP), geschlossen werden. Die Kursteilnehmer erlernen, Aspekte in eigenen Projekten zu erkennen und mit Hilfe der AOP-Technologie sauber zu modularisieren. Das AOP-Seminar baut auf der aktuellen Version von AspectJ 5 auf, einer aspektorientierten Erweiterung der Programmiersprache Java. Als Entwicklungsumgebung kommt Eclipse mit AspectJ Development Tools (AJDT) zum Einsatz.

Inhalte des Seminars

Einführung in die Aspektorientierung

  • Crosscutting Concerns (Querschnittsbelange) am Beispiel von Logging
  • Probleme in OOP: Tangling und Scattering
  • Join-Point (Verbindungspunkt)
  • Pointcut (Schnittpunkt)
  • Advice (Empfehlung)
  • AOP als Erweiterung von OOP
  • Symmetrischer/Asymmetrischer Ansatz
  • Frameworks: AspectJ, JBoss AOP, AspectWerkz, Spring AOP

AspectJ

  • AspectJ und der Eclipse-Compiler (Eclipse JDT Core)
  • AspectJ über Kommandozeile (ajc-Compiler) und Ant
  • @Aspect-Annotationen
  • Eclipse und die AspectJ Development Tools (AJDT)
  • Unterstützung von Generics
  • invokedynamic-Unterstützung

Join-Points in AspectJ

  • Strukturelle und Kontrollflussbezogene Join-Points
  • call, execution, Unterschiede
  • Setter/Getter Operationen: get/set
  • Exception-Jandler Join-Point handler
  • initialization, preinitialization, staticinitialization
  • Join Point Modifizierer
  • Wildcards in AspectJ
  • Operatoren Oder (||), Und (&&) und Nicht (!)
  • Signaturen der Typen, Methoden, Ausnahmen
  • Kontextzugriff (thisJoinPoint, thisJoinPointStaticPart, getSourceLocation
  • Kovarinante Methoden und Join-Point-Matching

Pointcuts in AspectJ

  • this, target, args
  • Argumente, Autoboxing und variable Argumentlisten (Varargs)
  • cflow, cflowbelow, withincode, within, if, adviceexecution
  • Pointcut Parameter
  • Anonyme Pointcuts

Advice und Kontexte

  • Advice-Typen: Before-Advice, After-Advice, Around-Advice
  • Vorrangregeln bei Advices und zirkuläre Abhängigkeiten
  • Intertype Deklarationen
  • Aufzählungstypen (Enums).

Technische Realisierung und Metadaten

  • Load-Time Weaving
  • Runtime-Proxies
  • AjTypeSystem
  • Utility-Klasse Aspects und aspectOf, hasAspect

AspectJ in der Anwendung, Chancen und Risiken

  • Aspekte und Zustand
  • Konfigurationsmanagement
  • Classpath-Fragen
  • Aspekte und Wiederverwendbarkeit
  • Aspekte und Stabilität
  • Dynamische Aktivierung von Aspekten
  • Aspekte in Web-Anwendungen und Web-Services
  • Optimierungen und Laufzeitprobleme
  • Aspekte testen
  • Aspekte einführen und Refactoring
  • Aspect-oriented software design (ASOD)
  • Aspekte in Spring und Spring AOP
  • ajdoc: AspectJ-Doc Generator

Termine / Kontakt

Jedes Seminar führt tutego als kundenangepasstes Inhouse-Seminar durch.

Alle unsere Seminare können zudem als Live-Online-Seminar besucht werden.

Wir helfen Ihnen gerne bei der Anmeldung und einen passenden Termin zu finden. Kontaktieren Sie uns per E-Mail oder unter 0800/tutegos (kostenlos aus allen Netzen).

Die Fakten

  • Empfohlene Schulungsdauer: 2 Tage, insgesamt 16 Unterrichtsstunden à 45 Minuten
  • Zielgruppe: Software-Entwickelnde
  • Vorkenntnisse: Der Kurs ›Java für Fortgeschrittene‹ oder ›Java für Umsteiger‹.
  • Schulungsunterlagen: Deutschsprachige Unterlagen (Kopien der Folien), Zertifikat
  • Seminar-Software: Java 21 ist die Standardversion, die in Verbindung mit der IntelliJ IDEA (Community-Edition) verwendet wird. Auf Wunsch auch die Eclipse IDE (Paket ›Eclipse IDE for Enterprise Java Developers‹) oder andere Entwicklungsumgebungen (NetBeans, Oracle JDeveloper) und JDK 8.. Jeweils aktuelle Version von AspectJ, zur Zeit AspectJ 1.9.

Verweise

Alle Kategorien

Was Teilnehmer sagen