Aspect Oriented Programming (AOP) is a promising new technology for
separating crosscutting concerns that are usually hard to do in
object-oriented programming. This article aims to be an introductory
point to the basic concepts associated with this new paradigm.
Crosscutting concerns may exist in some programs, especially large
ones. However, in some situations, redesign of the system might
transform a crosscutting into an object. AOP assumes that crosscutting
concerns may exist in programs and can't be re-factored out of the
design in all situations.
Of course, the language that gains a great interest of the research community is the Java language. The following is a list of tools that support AOP with Java:
A very simple approach is AspectWerkz .
Ref : http://aspectwerkz.codehaus.org/index.html
Crosscutting Concerns
An example of crosscutting concerns is "logging," which is frequently used in distributed applications to aid debugging by tracing method calls. Suppose we do logging at both the beginning and the end of each function body. This will result in crosscutting all classes that have at least one function. Other typical crosscutting concerns include context-sensitive error handling, performance optimization, and design patterns.Aspect Oriented Programming and Java
AOP is a concept, so it is not bound to a specific programming language. In fact, it can help with the shortcomings of all languages (not only OO languages) that use single, hierarchical decomposition. AOP has been implemented in different languages (for example, C++, Smalltalk, C#, C, and Java).Of course, the language that gains a great interest of the research community is the Java language. The following is a list of tools that support AOP with Java:
A very simple approach is AspectWerkz .
Ref : http://aspectwerkz.codehaus.org/index.html