Section 2.3. OBLIVIOUSNESS


2.3. OBLIVIOUSNESS

Obliviousness states that one can't tell that the aspect code will execute by examining the body of the base code. Obliviousness is desirable because it allows greater separation of concerns in the system creation processconcerns can be separated not only in the structure of the system, but also in the heads of the creators. Obliviousness in AOP contrasts with the primary mechanism for separation of concerns in programming languages: subprograms. One invokes a subprogram or sends a specific message to a particular target. With AOP, the crosscutting behavior is intermixed by higher-level specifications, not low-level programming.

This is not to ignore the disadvantages of obliviousnessthat systems melded from separate minds may not function the way anyone intended and that systems composed by formal rules may produce surprising behavior. Nor is it the assertion that AOP techniques must always be used obliviouslythere's no great harm in knowing what's going on, either. The argument is that one of the two things that distinguish aspect-oriented programming languages from their predecessors is the ability to be oblivious.



Aspect-Oriented Software Development
Aspect-Oriented Software Development with Use Cases
ISBN: 0321268881
EAN: 2147483647
Year: 2003
Pages: 307

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net