Tuesday, October 16, 2007

Activating Aspects with AspectJ

lets say you are building a library of Aspects, that could be used by somebody, you would come across the following problem : how does the client who will be using this library decide which aspects to activate when ? two solutions (let me know about others):
  • Define your aspects as abstract aspects, then the user will easily decide to activate some aspects by extending these abstract aspects . this is a nice way of doing it. but the problem with this is that the client will need to understand aspects and AspectJ .
  • define the point cuts in the aspects to act upon certain interfaces( which are deployed also with the library) , so then the user activates certain aspects on certain objects by implementing them interfaces . now the draw back to this is that let's say you wanna have some aspects that act upon the whole system your sccope will be harder to define .