lehrerbibliothek.deDatenschutzerklärung
AOP Aspektorientierte Programmierung in der Praxis Konzepte und ihre Realisierung in Java
AOP
Aspektorientierte Programmierung in der Praxis Konzepte und ihre Realisierung in Java




Lars Wunderlich

Software & Support
EAN: 9783935042741 (ISBN: 3-935042-74-4)
288 Seiten, paperback, 14 x 21cm, November, 2005

EUR 24,90
alle Angaben ohne Gewähr

Umschlagtext
Ändern Sie Ihren Programmierstil!

Mit aspektorientierter Programmierung (AOP) werden klares Softwaredesign, bessere Sourcecodequalität und höhere Entwicklungsgeschwindigkeit möglich.

Und keine Angst vor dem „Kulturschock“.

Lars Wunderlich führt Sie von den Wurzeln der AOP hin zu ganz neuen Abbildungsverfahren von Softwareanforderungen. Er zeigt, durch welche Tricks und Kniffe die Anwendungsentwicklung mit Java revolutioniert wird. Er stellt Softwarearchitekturen vor, die kleinere und effizientere Programme erlauben.

Folgen Sie ihm von theoretischen Mapping-Visionen und Kritik an neuen Entwicklungstechniken hin zur prozessorientierten und programmatischen Praxis. Dieses Buch versetzt Sie in die Lage selbst zu entscheiden, ob und wie AOP die Qualität Ihrer Projekte verbessert.



Der Autor

Lars Wunderlich arbeitet als Software Engineer im Bereich der Forschung und Entwicklung neuer Unternehmensarchitekturen. Als Projektleiter und Java-Coach an der TUI InfoTec GmbH in Hannover beschäftigt er sich damit, wie diese Architekturen in die Praxis umgesetzt werden. Er ist Autor verschiedener Fachzeitschriften und hat Bücher zu Eclipse und Softwarearchitekturen in Java veröffentlicht.



Die Themen

* Die 1:1 – Mapping -Vision

* Einführung in AOP-Begriffe

* vom prozeduralen Erwachen zum aspektorientierten Neuland

* Forschungsbereiche und -themen in AOP

* technische Grundlagen, Anwendungsgebiete und Risiken

* AspectJ und JBoss AOP in der Praxis
Rezension
Dieses Buch richtet sich an fortgeschrittene Java Entwickler. Der Leser sollte gut Kenntnisse der Java Syntax und häufig auftretende Probleme bei der Java Entwicklung mitbringen.

Der Autor verwendet viele Code-Beispiele, Screenshots und grafische Illustrationen zur Beschreibung der komplexen Materie.

Im ersten Teil des Buches werden neue, zum Verständnis der Aspektorientieten Programmierung notwendige Begriffe eingeführt. Nach der Erklärung des Begriffs AOP und der Klärung der Aufgaben von AOP wird anhand vieler Code-Beispiele und Anwendungsbeispielen die Technische Umsetzung von AOP beschrieben.

Tim Sonner, lehrerbibliothek.de
Inhaltsverzeichnis
Einleitung 9

1 Von OOP nach AOP – Evolution der Programmierung 19
1.1 Die 1:1 – Mapping-Vision 19
1.2 Einführung in AOP-Begriffe 20
1.3 Architektur- und Designvorgehen durch „Prismabildung“ 30
1.4 Evolution der Softwareentwicklungsparadigmen 33
1.4.1 Vom prozeduralen Erwachen 33
1.4.2 ... zum objektorieentierten Dilemma 35
1.5 AOP als Rettungsanker?! 38
1.6 Fortschritte von AOP gegenüber OOP 39
1.7 AOP-Techniken von morgen?! 47
1.7.1 Separation of Concerns versus Separation of Aspects 48
1.7.2 Multidimensionales Separation of Concerns 53
1.7.3 Multidimensionale Interfaces 54
1.7.4 Anwendung von Vererbung im multidimensionalen Aspektuniversum 55
1.7.5 Orthogonale bzw. nichtorthogonale Aspekte und Konfliktsituationen 56
1.7.6 Symetrische und asymmetrische AOP-Lösungen 62
1.7.7 Weaving in dynamischem und statischem AOP 64
1.8 Wann ist der Einsatz von AOP sinnvoll? 69
1.8.1 Auswirkung von Softwareentwicklungsverfahren und Projektmanagement 70
1.8.2 Wiederverwendbarkeit – ein Aberglaube? 74
1.8.3 AOP – ein Ansazt zur Lösung? 78
1.9 Versuch einer Einschätzung von AOP 80
1.9.1 AOP zum Einsatz bringen 83
1.10 Zusammenfassung 85

2 AOP-Frameworks in Java 87
2.1 AspectJ 88
2.1.1 Die AspectJ-Sprache 90
2.1.2 Beispiel mit AJDT in Eclipse 102
2.2 Jboss AOP 110
2.2.1 Jboss-IDE AOP am Beispiel 123
2.3 Jboss AOP vs. AspectJ 128
2.4 AspectWerkz 129
2.5 Weitere Java-AOP-Tools 130
2.6 Frameworks? - Eine Stellungsnahme 131

3 Architekturen mit AOP 133
3.1 Theme Approach – Analyse und Design in AOP 143
3.2. Architektonische Grundlagen 152
3.2.1 Pointcutwahl – eine Frage der Medellierung 153
3.3 Technische Grundlagen AOP 155
3.3.1 Java Reflection 155
3.3.2 Dynamic Proxies – erster Schritt Richtung AOP? 159
3.3.3 Bytecodemanipulation 169
3.3.4 Java Standard Edition mit AOP versus java Enterprise Edition 188
3.3.5 Meta-Tags für die Realisierung von AOP 197
3.4 Auswirkungen von Refactorings auf AOP 204
3.5 Performancekiller AOP? 208
3.5.1 Performance anders verstanden 212
3.6 Anwendungsgebiete 213
3.6.1 Design by Contract 213
3.6.2 Singletons mit AOP realisieren 231
3.6.3 Lazy creation/initialization 236
3.6.4 Instanzen und Ergebnisse cachen 243
3.6.5 Exception-Softening 248
3.6.6 Coverage-Tests 250
3.6.7 Asynchrone Aufrufe realisieren 251
3.6.8 Mocktests und Implementierungen mit AOP 257
3.7 Beschwörung der Dämonen? 272
3.8 Sinnvolle Heirat – MDA/MDSD und AOP? 276
3.9 Zusammenfassung 277

Nachwort 279

Literaturverzeichnis 281

Stichwortverzeichnis 283

Der Autor 288