XpdWiki

FrontPage
RecentChanges
XtC
FindPage
PageIndex
XpApprentices

Set your name in
UserPreferences

Edit this page

Referenced by
VisitorsBook
NanningAspects
AspectJ
XPmeetsAOP




JSPWiki v2.0.52


AspectOrientedProgramming


See http://www.parc.xerox.com/csl/projects/aop/

Think runtime metaprogramming and you're close to the power of AOP.

Aspects group together functionality that would otherwise be spread across many classes and methods -- eg the definition of when to call a logging API can be defined once in an aspect rather than having trace / debug methods littered through code.

As well as a basic definition ('what' the aspect is), aspects can define 'before' and 'after' execution code e.g. to impose meaningful pre- and post- conditions to class interactions.

Aspects could be used very neatly as an aid to refactoring -- an aspect based refactoring browser would be mighty powerful! -- or they could become another wheeze by the modelling lobby to persuade people to buy tools and do more design upfront. (FWIW Grady Booch has jumped on the aspect bandwagon as a means to generating executable code -- via aspects -- straight from UML models. Hmmm) There is a broader discussion of AOP and XP at XPmeetsAOP.

There is a Java based implementation called AspectJ.


There is a comparison of various Java frameworks for AOP at: http://nanning.snipsnap.org/space/Aspect+Frameworks


Edit this page   More info...   Attach file...
This page last changed on 08-Jun-2003 01:08:11 BST by unknown.