Aspect-oriented programming: Difference between revisions

Content deleted Content added
Dzikiłoś (talk | contribs)
Notes and references: Updating the link to active
Tags: Reverted Visual edit
m Reverted edit by Dzikiłoś (talk) to last version by David Eppstein
Line 170:
Any solution that combines programs at runtime must provide views that segregate them properly to maintain the programmer's segregated model. Java's bytecode support for multiple source files enables any debugger to step through a properly woven .class file in a source editor. However, some third-party decompilers cannot process woven code because they expect code produced by Javac rather than all supported bytecode forms (see also [[#Criticism|§ Criticism]], below).
 
[[Deploy-time]] weaving offers another approach.<ref>{{cite web |url=http://www.forum2.org/tal/AspectJ2EE.pdf |title=Archived copy |access-date=2005-06-19 |url-status=dead |archive-url=https://wdwweb.comarchive.plorg/wweb/20051008065854/http://www.forum2.org/tal/AspectJ2EE.pdf |accessarchive-date=2005-0610-1908}}</ref> This basically implies post-processing, but rather than patching the generated code, this weaving approach ''subclasses'' existing classes so that the modifications are introduced by method-overriding. The existing classes remain untouched, even at runtime, and all existing tools, such as debuggers and profilers, can be used during development. A similar approach has already proven itself in the implementation of many [[Java EE]] application servers, such as [[IBM]]'s [[WebSphere]].
 
===Terminology===