Navigation

Seiten der Rubrik "Bücher"


Google Anzeigen

Anzeigen

Bücher

Aspektorientierte Programmierung mit AspectJ 5


Statistiken
  • 8222 Aufrufe

Informationen zum Buch
  ISBN
  Autor
  Verlag
  Sprache
  Seiten
  Erscheinungsjahr
  Extras

Rezension von

Marc-Florian Wendland

Aspektorientierte Programmierung mit AspectJ 5 Aspektorientierung (AOP) wird gemeinhin als die evolutionär nächste Stufe der objektorientierten Programmierung angesehen, wobei die Innovation von Objekten zu Aspekten in etwa gleichzusetzen ist, wie der Schritt von der prozeduralen zur objektorientierten Programmierung. In der Tat lassen sich mittels Aspekten auf sehr eleganten und vergleichsweise einfache Weise Objekt übergreifende Konzepte – man spricht von so genannten Crosscutting Concerns – realisieren. Doch der Einsatz von Aspekten will wohl bedacht sein, da sich nahezu alle alt vertrauten Mechanismen der Objektorientierung konsequent aushebeln lassen. Es gilt daher zunächst ein generelles Verständnis über Aspekte zu erlangen. Diese Aufgabe hat sich der Autor Oliver Böhm mit seinem Buch gestellt. Das Buch „AOP mit AspectJ 5“ gliedert sich in 3 Teil, nebst eines Anhangs. Der erste Teil umfasst eine knappe Einführung in die Thematik und die Konzepte der AOP. Hier werden vor allem Nomenklatur der AOP, sowie Szenarien, in denen AOP hilfreich sein könnte, vorgestellt. Interessant ist in diesem Zusammenhang auch die Erläuterungen zum Load-Time-Weaving, also der technischen Realisierung der Aspektorientierung auf Bytecode-Ebene. Im zweiten Teil „Einführung in AspectJ“ steigt Böhm konkret in die Implementierung mittels Aspekten ein. Dieser Abschnitt ist mit Abstand der umfangreichste, stellt er doch den Kern des Themenkomplexes dar. 8 der insgesamt 15 Kapitel widmet der Autor den Bestandteilen von AspectJ. Im dritten und letzten Teil werden fortgeschrittene Themen besprochen, zu denen unter anderem die Instrumentalisierung von Fremdcode, Software-Patterns via AspectJ oder auch Tipps bzw. Troubleshooting, wenn bestehende Projekte nach AspectJ migriert werden sollen. Den Abschluss stellt ein kurzer Anhang. AOP ist ein interessantes und mächtiges Konzept, das zunächst jedoch gezähmt werden muss. Nach Aussagen des Autors entsprang die Motivation zu diesem Buch nach einem Workshop über die Aspketorientierte Programmierung. Ziel war es ein Lehr- und Nachschlagewerk über AspectJ und AOP zu schaffen. Dieses Konzept geht gut auf. Böhm präsentiert ein gut aufgearbeitetes Werk, das verständlich verfasst und gleichsam für Kurzweil sorgt. Der interessierte Leser wird durch die umfassenden und scheinbar allmächtigen Möglichkeiten von AOP in den Bann des Buches gezogen. Die Techniken der Aspektorientierung werden an anschaulichen, bewusst einfachen und doch prägnanten Codesnippets demonstriert. Natürlich besitzen die Beispiele keine reale Repräsentanz, es handelt sich dabei um fiktive Projekte bzw. Problemstellungen. Dennoch ist mir beim Lesen sofort die ein oder andere Idee gekommen, wie das besprochene Thema in einem Softwareprojekt eingesetzt werden könnte. Die Lernkurve des Buches ist, wie bereits angedeutet, sehr steil, da Böhm die Inhalte didaktisch hochwertig aufbereitet. Konkret manifestieren wird sich der Stoff jedoch erst im wirklichen Einsatz – und hier liegt der Teufel im Detail. Das Buch beinhaltet einige inhaltliche Schwächen bzw. Ungenauigkeiten. So wurde beispielsweise der Kontrollflussaspekt (cflow) sehr unpräzise erläutert. Widersprüchliche Aussagen trifft Böhm auch bzgl. der Vorrangsregelung von Aspekten, die identische Joinpoints adressieren. Leider finden sich auch vereinzelt konkret falsche Aussagen in den Erklärungen. So definiert der Autor den Zugriffsmodifizierer protected als paketweit. An anderer Stelle wurde der so wichtige Wildcard '..' nicht syntaktisch korrekt erläutert. Dies sind sicherlich nur Kleinigkeiten, aber stößt man erst auf einen solch offensichtlichen Fehler, bleibt bei nachfolgenden Erläuterungen stets ein ungutes Gefühl. Abschließend bleibt zu sagen, dass das Buch ausreichend Rüstzeug mitliefert, um sich intensiver mit der Aspektoerientierung zu befassen. Dazu trägt unter anderem auch der dritte Teil des Buches bei. Insbesondere die Instrumentalisierung von Fremdbibliotheken stellt ein mächtiges Werkzeug zur Verfügung, um existierende Java Archive nach eigenem Gutdünken anzupassen. Böhm rät jedoch, und dies vollkommen zu recht, Aspekte nur spärlich und wohl überlegt einzusetzen. Fazit: Ein lesenswertes und gut geschriebenes Buch, das jedoch (noch) kleine Schwächen besitzt die in einer Folgeauflage ohne größere Probleme korrigiert werden können. Böhms selbstgestecktes Ziel, ein Lehr- und Nachschlagebuch zu AOP mittels AspectJ zu schaffen, hat er zu großen Teilen hervorragend umgesetzt.

Aspektorientierung (AOP) wird gemeinhin als die evolutionär nächste Stufe der objektorientierten Programmierung angesehen, wobei die Innovation von Objekten zu Aspekten in etwa gleichzusetzen ist, wie der Schritt von der prozeduralen zur objektorientierten Programmierung. In der Tat lassen sich mittels Aspekten auf sehr eleganten und vergleichsweise einfache Weise Objekt übergreifende Konzepte – man spricht von so genannten Crosscutting Concerns – realisieren. Doch der Einsatz von Aspekten will wohl bedacht sein, da sich nahezu alle alt vertrauten Mechanismen der Objektorientierung konsequent aushebeln lassen. Es gilt daher zunächst ein generelles Verständnis über Aspekte zu erlangen. Diese Aufgabe hat sich der Autor Oliver Böhm mit seinem Buch gestellt.

weitere Rezensionen von Marc-Florian Wendland

#
rezensiert seit
Buchtitel
2
12.10.2010
3
12.10.2010
4
12.10.2010
5
01.10.2010

Das Buch „AOP mit AspectJ 5“ gliedert sich in 3 Teil, nebst eines Anhangs.

Der erste Teil umfasst eine knappe Einführung in die Thematik und die Konzepte der AOP. Hier werden vor allem Nomenklatur der AOP, sowie Szenarien, in denen AOP hilfreich sein könnte, vorgestellt. Interessant ist in diesem Zusammenhang auch die Erläuterungen zum Load-Time-Weaving, also der technischen Realisierung der Aspektorientierung auf Bytecode-Ebene.

Im zweiten Teil „Einführung in AspectJ“ steigt Böhm konkret in die Implementierung mittels Aspekten ein. Dieser Abschnitt ist mit Abstand der umfangreichste, stellt er doch den Kern des Themenkomplexes dar. 8 der insgesamt 15 Kapitel widmet der Autor den Bestandteilen von AspectJ.

Im dritten und letzten Teil werden fortgeschrittene Themen besprochen, zu denen unter anderem die Instrumentalisierung von Fremdcode, Software-Patterns via AspectJ oder auch Tipps bzw. Troubleshooting, wenn bestehende Projekte nach AspectJ migriert werden sollen.

Den Abschluss stellt ein kurzer Anhang.

AOP ist ein interessantes und mächtiges Konzept, das zunächst jedoch gezähmt werden muss. Nach Aussagen des Autors entsprang die Motivation zu diesem Buch nach einem Workshop über die Aspketorientierte Programmierung. Ziel war es ein Lehr- und Nachschlagewerk über AspectJ und AOP zu schaffen. Dieses Konzept geht gut auf. Böhm präsentiert ein gut aufgearbeitetes Werk, das verständlich verfasst und gleichsam für Kurzweil sorgt. Der interessierte Leser wird durch die umfassenden und scheinbar allmächtigen Möglichkeiten von AOP in den Bann des Buches gezogen.

Die Techniken der Aspektorientierung werden an anschaulichen, bewusst einfachen und doch prägnanten Codesnippets demonstriert. Natürlich besitzen die Beispiele keine reale Repräsentanz, es handelt sich dabei um fiktive Projekte bzw. Problemstellungen. Dennoch ist mir beim Lesen sofort die ein oder andere Idee gekommen, wie das besprochene Thema in einem Softwareprojekt eingesetzt werden könnte.

Die Lernkurve des Buches ist, wie bereits angedeutet, sehr steil, da Böhm die Inhalte didaktisch hochwertig aufbereitet. Konkret manifestieren wird sich der Stoff jedoch erst im wirklichen Einsatz – und hier liegt der Teufel im Detail. Das Buch beinhaltet einige inhaltliche Schwächen bzw. Ungenauigkeiten. So wurde beispielsweise der Kontrollflussaspekt (cflow) sehr unpräzise erläutert. Widersprüchliche Aussagen trifft Böhm auch bzgl. der Vorrangsregelung von Aspekten, die identische Joinpoints adressieren.

Leider finden sich auch vereinzelt konkret falsche Aussagen in den Erklärungen. So definiert der Autor den Zugriffsmodifizierer protected als paketweit. An anderer Stelle wurde der so wichtige Wildcard '..' nicht syntaktisch korrekt erläutert. Dies sind sicherlich nur Kleinigkeiten, aber stößt man erst auf einen solch offensichtlichen Fehler, bleibt bei nachfolgenden Erläuterungen stets ein ungutes Gefühl.

Abschließend bleibt zu sagen, dass das Buch ausreichend Rüstzeug mitliefert, um sich intensiver mit der Aspektoerientierung zu befassen. Dazu trägt unter anderem auch der dritte Teil des Buches bei. Insbesondere die Instrumentalisierung von Fremdbibliotheken stellt ein mächtiges Werkzeug zur Verfügung, um existierende Java Archive nach eigenem Gutdünken anzupassen. Böhm rät jedoch, und dies vollkommen zu recht, Aspekte nur spärlich und wohl überlegt einzusetzen.

Fazit: Ein lesenswertes und gut geschriebenes Buch, das jedoch (noch) kleine Schwächen besitzt die in einer Folgeauflage ohne größere Probleme korrigiert werden können. Böhms selbstgestecktes Ziel, ein Lehr- und Nachschlagebuch zu AOP mittels AspectJ zu schaffen, hat er zu großen Teilen hervorragend umgesetzt.

geschrieben am 01.01.2008 | 608 Wörter | 3837 Zeichen

Kommentare lesen Kommentar schreiben

Kommentare zur Rezension (0)

Platz für Anregungen und Ergänzungen