Quantcast
Channel: Thorsten Maier – techscouting through the java news
Viewing all articles
Browse latest Browse all 44

@Delegate in Groovy

$
0
0

Die sehr mächtigen Möglichkeiten der dynamischen Metaprogrammierung in Groovy sind der Grund für zwei wesentliche Nachteile der Sprache:

  • Performanz: Das dynamische Delegieren von Methodenaufrufen zur Laufzeit sorgt dafür, dass Groovy-Anwendungen in aller Regel langsamer als vergleichbare Java-Anwendungen sind.
  • IDE-Unterstützung: Die dynamische Typisierung sorgt außerdem dafür, dass Entwicklungsumgebungen nur eingeschränkte Unterstützungen in Form von Codevervollständigung oder Refactoring anbieten können.

Beide Probleme können durch das im Moment häufig diskutierte Projekt Groovy++ beseitigt werden.

Allerdings bietet auch Groovy von Haus aus bereits eine Unterstützung für die Metaprogrammierung zum Kompilierungszeitpunkt. Ein schönes Beispiel dafür ist die Annotation @Delegate, die an Objekt-Attribute einer Klasse angehängt werden kann und dafür sorgt, dass Methodenaufrufe automatisch weiter an die annotierte Instanz delegiert werden. Damit kann eine Art Mehrfachvererbung für Groovy-Klassen erreicht werden.


Einsortiert unter:Groovy and Grails Tagged: annotation, Groovy, refactoring

Viewing all articles
Browse latest Browse all 44

Trending Articles