[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
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.


On Sep 9, 2008, at 4:53 AM, Luca Ferrari wrote:

Hi all,
sorry for this question that is not tied to AspectJ, but yesterday I heard for
the first time the term "symmetric aop", but I dind't get the meaning. Anyove
can give me info or pointers about?

aspectj-users mailing list

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]