Enviar búsqueda
Cargar
JUGM 07 - AspectJ
•
1 recomendación
•
723 vistas
Heiko Seeberger
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 26
Descargar ahora
Descargar para leer sin conexión
Recomendados
W-JAX 07 - AOP im Einsatz mit OSGi und RCP
W-JAX 07 - AOP im Einsatz mit OSGi und RCP
Heiko Seeberger
Práctica 24
Práctica 24
susanabiebs
Evaluación de inteligencias múltiples
Evaluación de inteligencias múltiples
Robertoruedaalvarado
Diagramas de Flujo
Diagramas de Flujo
yonyi06
Roberto Anton
Roberto Anton
Roberto A. Anton Aff.M. ASCE
HDT
HDT
aldanawmaster
Que proponen los candidatos a alcalde x santiago
Que proponen los candidatos a alcalde x santiago
CIPDEL
Grasas protegidas
Grasas protegidas
Daniel Pérez
Recomendados
W-JAX 07 - AOP im Einsatz mit OSGi und RCP
W-JAX 07 - AOP im Einsatz mit OSGi und RCP
Heiko Seeberger
Práctica 24
Práctica 24
susanabiebs
Evaluación de inteligencias múltiples
Evaluación de inteligencias múltiples
Robertoruedaalvarado
Diagramas de Flujo
Diagramas de Flujo
yonyi06
Roberto Anton
Roberto Anton
Roberto A. Anton Aff.M. ASCE
HDT
HDT
aldanawmaster
Que proponen los candidatos a alcalde x santiago
Que proponen los candidatos a alcalde x santiago
CIPDEL
Grasas protegidas
Grasas protegidas
Daniel Pérez
Lesscode WebMontag Mannheim September 2010
Lesscode WebMontag Mannheim September 2010
Heiko Seebach
trabajo de español
trabajo de español
Naren-rivera
Cifras ambientales 2010
Cifras ambientales 2010
FertilMundo
Marcadores
Marcadores
Jairo Nxp Diaz
MENSAJE
MENSAJE
JEARMOVI
Práctica 18
Práctica 18
susanabiebs
Vortrag "Governance durch Algorithmen? 'Politics of Platforms' und die Ordnun...
Vortrag "Governance durch Algorithmen? 'Politics of Platforms' und die Ordnun...
Christian Katzenbach
Francisca y la muerte
Francisca y la muerte
johanaosorio
Hta Online Grade EinfüHrg Final
Hta Online Grade EinfüHrg Final
choffmann
Convenio lo prado ONG CIPDEL
Convenio lo prado ONG CIPDEL
CIPDEL
ePartizipation in Jugendverbänden
ePartizipation in Jugendverbänden
Landesjugendring Niedersachsen e.V.
September 9, 2011
September 9, 2011
William Lodge
Chicaque aleh
Chicaque aleh
tauritho
Juleica-Statistik 2010 für Niedersachsen
Juleica-Statistik 2010 für Niedersachsen
Landesjugendring Niedersachsen e.V.
Ernesto
Ernesto
res stillhart
I Convención de Agronegocios - UPC
I Convención de Agronegocios - UPC
FertilMundo
PRM-Contratos
PRM-Contratos
Kate Jimenez
Vielfalt gehört in die Mitte!
Vielfalt gehört in die Mitte!
Landesjugendring Niedersachsen e.V.
Evaluación de inteligencias múltiples
Evaluación de inteligencias múltiples
Robertoruedaalvarado
Unidad 3
Unidad 3
susanabiebs
Eclipse Magazin 12 - Security does matter
Eclipse Magazin 12 - Security does matter
Heiko Seeberger
Eclipse Magazin 16 - Die Stärke der Drei
Eclipse Magazin 16 - Die Stärke der Drei
Heiko Seeberger
Más contenido relacionado
Destacado
Lesscode WebMontag Mannheim September 2010
Lesscode WebMontag Mannheim September 2010
Heiko Seebach
trabajo de español
trabajo de español
Naren-rivera
Cifras ambientales 2010
Cifras ambientales 2010
FertilMundo
Marcadores
Marcadores
Jairo Nxp Diaz
MENSAJE
MENSAJE
JEARMOVI
Práctica 18
Práctica 18
susanabiebs
Vortrag "Governance durch Algorithmen? 'Politics of Platforms' und die Ordnun...
Vortrag "Governance durch Algorithmen? 'Politics of Platforms' und die Ordnun...
Christian Katzenbach
Francisca y la muerte
Francisca y la muerte
johanaosorio
Hta Online Grade EinfüHrg Final
Hta Online Grade EinfüHrg Final
choffmann
Convenio lo prado ONG CIPDEL
Convenio lo prado ONG CIPDEL
CIPDEL
ePartizipation in Jugendverbänden
ePartizipation in Jugendverbänden
Landesjugendring Niedersachsen e.V.
September 9, 2011
September 9, 2011
William Lodge
Chicaque aleh
Chicaque aleh
tauritho
Juleica-Statistik 2010 für Niedersachsen
Juleica-Statistik 2010 für Niedersachsen
Landesjugendring Niedersachsen e.V.
Ernesto
Ernesto
res stillhart
I Convención de Agronegocios - UPC
I Convención de Agronegocios - UPC
FertilMundo
PRM-Contratos
PRM-Contratos
Kate Jimenez
Vielfalt gehört in die Mitte!
Vielfalt gehört in die Mitte!
Landesjugendring Niedersachsen e.V.
Evaluación de inteligencias múltiples
Evaluación de inteligencias múltiples
Robertoruedaalvarado
Unidad 3
Unidad 3
susanabiebs
Destacado
(20)
Lesscode WebMontag Mannheim September 2010
Lesscode WebMontag Mannheim September 2010
trabajo de español
trabajo de español
Cifras ambientales 2010
Cifras ambientales 2010
Marcadores
Marcadores
MENSAJE
MENSAJE
Práctica 18
Práctica 18
Vortrag "Governance durch Algorithmen? 'Politics of Platforms' und die Ordnun...
Vortrag "Governance durch Algorithmen? 'Politics of Platforms' und die Ordnun...
Francisca y la muerte
Francisca y la muerte
Hta Online Grade EinfüHrg Final
Hta Online Grade EinfüHrg Final
Convenio lo prado ONG CIPDEL
Convenio lo prado ONG CIPDEL
ePartizipation in Jugendverbänden
ePartizipation in Jugendverbänden
September 9, 2011
September 9, 2011
Chicaque aleh
Chicaque aleh
Juleica-Statistik 2010 für Niedersachsen
Juleica-Statistik 2010 für Niedersachsen
Ernesto
Ernesto
I Convención de Agronegocios - UPC
I Convención de Agronegocios - UPC
PRM-Contratos
PRM-Contratos
Vielfalt gehört in die Mitte!
Vielfalt gehört in die Mitte!
Evaluación de inteligencias múltiples
Evaluación de inteligencias múltiples
Unidad 3
Unidad 3
Similar a JUGM 07 - AspectJ
Eclipse Magazin 12 - Security does matter
Eclipse Magazin 12 - Security does matter
Heiko Seeberger
Eclipse Magazin 16 - Die Stärke der Drei
Eclipse Magazin 16 - Die Stärke der Drei
Heiko Seeberger
Jm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashorn
Wolfgang Weigend
Eclipse Magazin15 - Performance Logging
Eclipse Magazin15 - Performance Logging
Heiko Seeberger
2011 09-09 activiti
2011 09-09 activiti
camunda services GmbH
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
Christoph Pickl
Introduction to JEE
Introduction to JEE
guestc44b7b
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
Lukas Eder
Spring 2.0
Spring 2.0
Thorsten Kamann
JPA – Der Persistenz-Standard in der Java EE und SE
JPA – Der Persistenz-Standard in der Java EE und SE
hwilming
DOAG 2010: ADF Faces RC Best Practice
DOAG 2010: ADF Faces RC Best Practice
Ulrich Gerkmann-Bartels
Jax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentation
camunda services GmbH
Infinispan - NoSQL für den Enterprise Java Alltag
Infinispan - NoSQL für den Enterprise Java Alltag
gedoplan
20110119 activiti jughh
20110119 activiti jughh
camunda services GmbH
Design OOA OOD
Design OOA OOD
Jeffrey Groneberg
Neue Features der Java EE 6
Neue Features der Java EE 6
GFU Cyrus AG
JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!
gedoplan
Webinar - ABAP Development Tools
Webinar - ABAP Development Tools
Cadaxo GmbH
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
OPITZ CONSULTING Deutschland
JBoss AS / EAP Clustering
JBoss AS / EAP Clustering
hwilming
Similar a JUGM 07 - AspectJ
(20)
Eclipse Magazin 12 - Security does matter
Eclipse Magazin 12 - Security does matter
Eclipse Magazin 16 - Die Stärke der Drei
Eclipse Magazin 16 - Die Stärke der Drei
Jm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashorn
Eclipse Magazin15 - Performance Logging
Eclipse Magazin15 - Performance Logging
2011 09-09 activiti
2011 09-09 activiti
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
Introduction to JEE
Introduction to JEE
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
Spring 2.0
Spring 2.0
JPA – Der Persistenz-Standard in der Java EE und SE
JPA – Der Persistenz-Standard in der Java EE und SE
DOAG 2010: ADF Faces RC Best Practice
DOAG 2010: ADF Faces RC Best Practice
Jax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentation
Infinispan - NoSQL für den Enterprise Java Alltag
Infinispan - NoSQL für den Enterprise Java Alltag
20110119 activiti jughh
20110119 activiti jughh
Design OOA OOD
Design OOA OOD
Neue Features der Java EE 6
Neue Features der Java EE 6
JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!
Webinar - ABAP Development Tools
Webinar - ABAP Development Tools
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
JBoss AS / EAP Clustering
JBoss AS / EAP Clustering
Más de Heiko Seeberger
Scaladays 2011 - The Ease of Scalaz
Scaladays 2011 - The Ease of Scalaz
Heiko Seeberger
Java Magazin - Lift
Java Magazin - Lift
Heiko Seeberger
JavaSPEKTRUM - Scala 3
JavaSPEKTRUM - Scala 3
Heiko Seeberger
JavaSPEKTRUM - Scala 2
JavaSPEKTRUM - Scala 2
Heiko Seeberger
JavaSPEKTRUM - Scala 1
JavaSPEKTRUM - Scala 1
Heiko Seeberger
RheinJUG 2010 - Sprechen Sie Scala?
RheinJUG 2010 - Sprechen Sie Scala?
Heiko Seeberger
Objektforum 2010 - Sprechen Sie Scala?
Objektforum 2010 - Sprechen Sie Scala?
Heiko Seeberger
W-JAX 09 - ScalaModules
W-JAX 09 - ScalaModules
Heiko Seeberger
W-JAX 09 - Lift
W-JAX 09 - Lift
Heiko Seeberger
JM 08/09 - Beginning Scala Review
JM 08/09 - Beginning Scala Review
Heiko Seeberger
JM 08/09 - ScalaModules
JM 08/09 - ScalaModules
Heiko Seeberger
OSGi DevCon Europe 09 - OSGi on Scala
OSGi DevCon Europe 09 - OSGi on Scala
Heiko Seeberger
JAX 09 - OSGi on Scala
JAX 09 - OSGi on Scala
Heiko Seeberger
JAX 09 - OSGi Service Components Models
JAX 09 - OSGi Service Components Models
Heiko Seeberger
JAX 08 - Agile RCP
JAX 08 - Agile RCP
Heiko Seeberger
Eclipse Magazin 12 - Design by Contract
Eclipse Magazin 12 - Design by Contract
Heiko Seeberger
Eclipse Magazin 14 - Getting hooked on Equinox
Eclipse Magazin 14 - Getting hooked on Equinox
Heiko Seeberger
EclipseCon 08 - Agile RCP
EclipseCon 08 - Agile RCP
Heiko Seeberger
W-JAX 08 - Declarative Services versus Spring Dynamic Modules
W-JAX 08 - Declarative Services versus Spring Dynamic Modules
Heiko Seeberger
JAX 08 - Experiences using Equinox Aspects in a real-world Project
JAX 08 - Experiences using Equinox Aspects in a real-world Project
Heiko Seeberger
Más de Heiko Seeberger
(20)
Scaladays 2011 - The Ease of Scalaz
Scaladays 2011 - The Ease of Scalaz
Java Magazin - Lift
Java Magazin - Lift
JavaSPEKTRUM - Scala 3
JavaSPEKTRUM - Scala 3
JavaSPEKTRUM - Scala 2
JavaSPEKTRUM - Scala 2
JavaSPEKTRUM - Scala 1
JavaSPEKTRUM - Scala 1
RheinJUG 2010 - Sprechen Sie Scala?
RheinJUG 2010 - Sprechen Sie Scala?
Objektforum 2010 - Sprechen Sie Scala?
Objektforum 2010 - Sprechen Sie Scala?
W-JAX 09 - ScalaModules
W-JAX 09 - ScalaModules
W-JAX 09 - Lift
W-JAX 09 - Lift
JM 08/09 - Beginning Scala Review
JM 08/09 - Beginning Scala Review
JM 08/09 - ScalaModules
JM 08/09 - ScalaModules
OSGi DevCon Europe 09 - OSGi on Scala
OSGi DevCon Europe 09 - OSGi on Scala
JAX 09 - OSGi on Scala
JAX 09 - OSGi on Scala
JAX 09 - OSGi Service Components Models
JAX 09 - OSGi Service Components Models
JAX 08 - Agile RCP
JAX 08 - Agile RCP
Eclipse Magazin 12 - Design by Contract
Eclipse Magazin 12 - Design by Contract
Eclipse Magazin 14 - Getting hooked on Equinox
Eclipse Magazin 14 - Getting hooked on Equinox
EclipseCon 08 - Agile RCP
EclipseCon 08 - Agile RCP
W-JAX 08 - Declarative Services versus Spring Dynamic Modules
W-JAX 08 - Declarative Services versus Spring Dynamic Modules
JAX 08 - Experiences using Equinox Aspects in a real-world Project
JAX 08 - Experiences using Equinox Aspects in a real-world Project
JUGM 07 - AspectJ
1.
Bessere Software durch aspektorientierte
Programmierung mit Java und AspectJ Stand: 26.11.2007
2.
Gliederung
I. Einleitung II. Was ist AOP? Motivation Konzepte und Begriffe III. Überblick über AspectJ „Hello World“ Sprachumfang im Überblick Tools IV. AspectJ in der Praxis Performance-Logging Design by Contract JavaBeans Bound Properties V. Optional: AspectJ Load Time Weaving und Eclipse Plug-ins VI. Fazit und Diskussion © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 2
3.
Einleitung
Vorstellung Heiko Seeberger 36 Jahre Market Unit Manager of Enterprise Architecture bei metafinanz OO-Kenntnisse seit 1993, Java seit 1999 Schwerpunkte: AspectJ, Eclipse und SOA Aktiver Open Source Contributor © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 3
4.
Gliederung
I. Einleitung II. Was ist AOP? Motivation Konzepte und Begriffe III. Überblick über AspectJ „Hello World“ Sprachumfang im Überblick Tools IV. AspectJ in der Praxis Performance-Logging Design by Contract JavaBeans Bound Properties V. Optional: AspectJ Load Time Weaving und Eclipse Plug-ins VI. Fazit und Diskussion © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 4
5.
Motivation
Seperation of Concerns Herausforderung: Komplexität Ansatz: Problemstellung in überschaubare und disjunkte „Häppchen“ (Belange) zerlegen. Ergebnis: Verständliche Anforderungen Klare Konzepte Hochwertige Lösungen Höherer Grad an Wiederverwendung => Modularisierung ist gut! Objektorientierung (OO) fördert Modularisierung: Packages Klassen Methoden … © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 5
6.
Motivation
Modularisierung broken OO vermag i.d.R. nicht, alle Belange zu modularisieren. Manche Belange durchsetzen die OO-Module: Cross-cutting Concerns. ClassA ClassB ClassC ConcernX ConcernX ConcernX Scattering: Belange sind auf mehrere Module verteilt. Tangling: Module enthalten mehrere Belange. => Die Software könnte noch besser (verständlicher, wartbarer , wiederverbendbarer etc.) sein. © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 6
7.
AOP-Konzepte
AOP modularisiert Cross-cutting Concerns AOP führt neben Klassen Aspekte ein. Cross-cutting Concerns werden von Klassen in Aspekte verlagert. ClassA ClassB ClassC AspectX ConcernX ConcernX ConcernX ConcernX => Jedes Modul behandelt genau einen Belang => Vollständige Modularisierung. © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 7
8.
AOP-Konzepte
Weaving Herausforderung: Die separierten Belange wieder zusammenführen. Ansatz: Dieser Vorgang wird mit Weaving („Weben“) bezeichnet. ClassA ClassB ClassC AspectX ConcernX ConcernX ConcernX ConcernX Ergebnis: Die vormals separierten Belange „spielen wieder zusammen“. Mehrere Strategien: Precompiler. Compile-time Weaving: Beim/nach dem Compilieren (Java). Load-time Weaving: Beim Class Loading (Java). © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 8
9.
Gliederung
I. Einleitung II. Was ist AOP? Motivation Konzepte und Begriffe III. Überblick über AspectJ „Hello World“ Sprachumfang im Überblick Tools IV. AspectJ in der Praxis Performance-Logging Design by Contract JavaBeans Bound Properties V. Optional: AspectJ Load Time Weaving und Eclipse Plug-ins VI. Fazit und Diskussion © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 9
10.
Sprachumfang im Überblick
Hello World Demo © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 10
11.
Sprachumfang im Überblick
Anatomie von Aspekten 1 Dynamic cross-cutting 2 Static cross-cutting © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 11
12.
Dynamic cross-cutting
Dynamische Aspekte von Aspekten Joinpoints sind Programmstellen, an denen Weaving ansetzen kann, z.B. Methoden-Aufrufe, Feldzugriffe, Instantiierung etc. Pointcuts definieren bestimmte Mengen von Joinpoints, z.B. „alle Methoden-Aufrufe“ oder „alle Methoden-Aufrufe der Klasse X mit einem Parameter“ oder … Advices enthalten die Belange und steuern unter Bezug auf Pointcuts das Weaving, z.B. „Vor PointcutX soll dieser Belang eingewoben werden“. © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 12
13.
Static cross-cutting
Klassen „aufbohren“ Hinzufügen von Feldern, Methoden und Konstruktoren. „Gewöhnliche“ Syntax mit vorangestelltem Klassennamen. Demo © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 13
14.
Static cross-cutting
Eltern adoptieren Typen erweitern, d.h. neue extends hinzufügen. Interfaces implementieren, d.h. neue implements hinzufügen. Demo © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 14
15.
Static cross-cutting
Default-Implementierungen für Interfaces Hinzufügen von Feldern und Methoden-Implementierungen zu Interfaces! Demo Macht gemixte Methoden direkt zugreifbar. © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 15
16.
Static cross-cutting
Eigene Compiler-Meldungen Anhand von statischen Pointcuts gibt der AspectJ-Compiler Fehler oder Warnungen aus. Nützlich für die Qualitätssicherung: Nutzung von unerwünschtem Code verhindern. Einhalten von Richtlinien sicherstellen. Demo © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 16
17.
Gliederung
I. Einleitung II. Was ist AOP? Motivation Konzepte und Begriffe III. Überblick über AspectJ „Hello World“ Sprachumfang im Überblick Tools IV. AspectJ in der Praxis Performance-Logging Design by Contract JavaBeans Bound Properties V. Optional: AspectJ Load Time Weaving und Eclipse Plug-ins VI. Fazit und Diskussion © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 17
18.
Performance-Logging
Ein Praxisbeispiel Reporting von Performance-Kennzahlen aus dem laufenden Betrieb. Messung der Ausführungsdauer von Anwendungsfällen. Kommt im Kernsystem der Allianz Versicherung zum Einsatz. © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 18
19.
Design by Contract
Verbindliche Schnittstellen Design by Contract: Klare Vorgaben, was vom API erwartet und geliefert wird. Preconditions definieren die Erwartungshaltung. Postconditions beschreiben die Liefergarantien. Erfolgsfaktoren: Contracts müssen klar kommuniziert werden => Nutzer des API wissen Bescheid. Contracts dürfen nicht gebrochen werden können => Herausgeber des API kann sich verlassen. Die Umsetzung muss einfach sein. „Zweitbeste“ Lösung: Contracts in JavaDoc beschreiben. => Vollständig? Refactoring? Demo Contracts in den Implementierungen umsetzen, d.h. durch den Nutzer. => Verlässlichkeit? Mühsame Ansatz, oft redundanter Code. © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 19
20.
Design by Contract
ContractJ (www.aspectbrains.org/contractj) Bessere Lösung: Annotations markieren Contracts. Aspekte implementieren Contracts. © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 20
21.
Design by Contract
ContractJ Annotations sind ausdrucksstark. => Klare Kommunikation der Contracts. Annotations identifizieren und beschreiben Contracts gleichzeitig. => Vollständig und konsistent. Aspekte liegen in der Hoheit des API-Herausgebers. => Hohes Maß an Verlässlichkeit. Weiterführende Informationen siehe Eclipse Magazin Vol. 12 „Design by Contract“: http://www.metafinanz.de/fileadmin/Dokumente/Kontakt/2007_08_hsr_eclipse.pdf Demo © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 21
22.
JavaBeans Bound Properties
PropertyChanges kommunizieren JavaBeans definieren PropertyChangeListener: „A PropertyChange event gets fired whenever a bean changes a bound property. You can register a PropertyChangeListener with a source bean so as to be notified of any bound property updates.“ Implementierung sehr mühsam, da viel „Glue Code“ zu schreiben: Listener registrieren und deregistrieren. Für jede Bound Property muss ein PropertChangeEvent gefeuert werden. Demo Trotz Hilfsklasse PropertyChangeSupport viel „Handarbeit“ erforderlich. © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 22
23.
JavaBeans Bound Properties
Active Beans (www.aspectbrains.org/activebeans) Einfachere Lösung: Annotations markieren Klassen, deren Properties gebunden werden sollen. Demo Aspekte fügen mittels Static und Dynamic Cross-cutting den Glue Code ein. © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 23
24.
Gliederung
I. Einleitung II. Was ist AOP? Motivation Konzepte und Begriffe III. Überblick über AspectJ „Hello World“ Sprachumfang im Überblick Tools IV. AspectJ in der Praxis Performance-Logging Design by Contract JavaBeans Bound Properties V. Optional: AspectJ Load Time Weaving und Eclipse Plug-ins VI. Fazit und Diskussion © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 24
25.
Fazit
AOP bzw. AspectJ ist sehr nützlich AOP ermöglicht volle Seperation of Concerns und führt dadurch zu besserer Software. AspectJ ist eine reife und sehr mächtige AOP-Sprache für Java. Vorschlag für schrittweise Einführung: Eigene Compiler-Meldungen verwenden. Fertige Aspekte bzw. Aspekt-Libraries für Standard-Szenarien einsetzen. Eigene Aspekte für individuelle Cross-cutting Concerns erstellen. => Nutzen Sie AspectJ! Fragen und Antworten … © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 25
26.
Herzlichen Dank!
metafinanz Informationssysteme GmbH Leopoldstr. 146 80804 München phone: +49 89 360531-0 fax: +49 89 360531-15 kontakt@metafinanz.de www.metafinanz.de © Bessere Software durch AOP mit Java und AspectJ 26.11.2007 - Seite 26
Descargar ahora