close

AspektJ

Zur Navigation gehen Zur Suche gehen

AspectJ ist eine aspektorientierte Programmiersprache , die als Erweiterung der bei Xerox PARC entwickelten Java -Sprache entwickelt wurde . Ein AspectJ-Compiler schiebt den Begriff des Aspekts in den Code der virtuellen Maschine und implementiert so einen Begriff der Beziehung. Die Skins selbst werden in erweitertem Java geschrieben, indem eine Java-Datei generiert oder mit Maschinencode kompiliert wird, der mit dem von Java-Compilern generierten kompatibel ist.

AspectJ-Funktionen

  • Aspekte : Diese werden als „Wrapper“ von Code definiert. Sie sehen aus wie Java-Klassen.
  • Joinpoint : Punkte im Java-Code, an denen ein Aspekt Klassen abfangen kann.
  • Pointcuts - Logisch verkettete Gruppen von Joinpoints.
  • Hinweise : Dies sind Codeteile, die Pointcuts zugeordnet sind, die ein neues Verhalten auf alle durch den Pointcut repräsentierten Joinpoints anwenden.
  • Intertype-Member-Deklarationen : erlauben einem Aspekt, die für mehrere Klassen implementierten Felder und Methoden vollständig zu definieren.

Vor- und Nachteile

Zu den Vorteilen der AspectJ-Sprache gehören:

  • AspectJ ermöglicht die Modellierung von Querverweisen und erweitert damit die Möglichkeiten von OOP.
  • Es ist eine prägnante und explizite Sprache, die entwickelt wurde, um die Vorteile der Modularität anzubieten.

Andererseits bietet die Sprache AspectJ folgende Nachteile:

  • Ohne ein entsprechendes Tool wird der Programmierer die Funktionsweise des Gesamtsystems nicht verstehen. Zum Beispiel werden Intertyp-Member möglicherweise nicht gesehen und dürfen niemals verwendet werden.
  • Modellierung, Planung und Steuerung sind in der Entwicklungsphase viel wichtiger. Aspekte müssen von Designern erkannt werden, was Programmierern die Arbeit erleichtert.
  • Aspekte können missbraucht werden. Ein Programmierer kann in jeder Phase der Entwicklung falsche Funktionalität implementieren und einen weiten Bereich des Systems beeinflussen. Die Macht von POA kann schwer zu ergründen sein.

Compiler für AspectJ

Es gibt mindestens zwei AspectJ-Compiler:

  • ajc Teil der Tools, die vom Eclipse -Projekt unterstützt werden , und
  • abc , das ein Compiler, Optimierer und erweiterbar ist, produziert auf der Website vonspectorbench.org.

Externe Links