Envelope/Quill AspectOrientedProgramming

- Last edited July 17, 2001
See 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.


- Last edited July 17, 2001

https://casino-brain.com/