XpdWiki
Set your name in
UserPreferences Edit this page Referenced by
JSPWiki v2.0.52
![]() ![]() |
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 ![]()
|