| Re: [aspectj-users] symmetric vs asymmetric aop |
| Symmetric AOP is the idea that aspects are used as commonly as classes in an app and that aspects have the same "first-class" nature. In contrast, in Asymmetric AOP, the aspects are used more as "adjuncts" to classes, which are used to modularize most of the code in the app. So, AspectJ is considered asymmetric, since you usually have a small number of aspects advising a large number of classes. The Multi-Dimensional Separation of Concerns approach that IBM Research pioneered, including Hyper/J, is an example of symmetric AOP. Symmetric AOP is certainly the more "grand" vision of the impact AOP could have, but asymmetric has turned out to be more pragmatic. Dean On Sep 9, 2008, at 4:53 AM, Luca Ferrari wrote:
Dean Wampler, Ph.D. dean at objectmentor.com See also: http://www.polyglotprogramming.com Multi-language and multi-paradigm programming http://www.aspectprogramming.com AOP advocacy site http://aquarium.rubyforge.org AOP for Ruby http://www.contract4j.org Design by Contract for Java5 I want my tombstone to say: Unknown Application Error in Dean Wampler.exe. Application Terminated. [Okay] [Cancel] |