Content deleted Content added
Reverted vandalism by 122.180.244.220 |
|||
Line 86:
One can think of AOP as a debugging tool or as a user-level tool. Advice should be reserved for the cases where you cannot get the function changed (user level)<ref>{{cite web|url=https://www.gnu.org/software/emacs/manual/html_node/elisp/Advising-Functions.html|title=gnu.org|author=|date=|website=www.gnu.org|accessdate=5 May 2018|deadurl=no|archiveurl=https://web.archive.org/web/20171224053656/http://www.gnu.org/software/emacs/manual/html_node/elisp/Advising-Functions.html|archivedate=24 December 2017|df=}}</ref> or do not want to change the function in production code (debugging).
==Join point models==
The advice-related component of an aspect-oriented language defines a join point model (JPM). A JPM defines three things:
Line 221:
Technical criticisms include that the quantification of pointcuts (defining where advices are executed) is "extremely sensitive to changes in the program", which is known as the ''fragile pointcut problem''.<ref name="steimann"/> The problems with pointcuts are deemed intractable: if one replaces the quantification of pointcuts with explicit annotations, one obtains attribute-oriented programming instead, which is simply an explicit subroutine call and suffers the identical problem of scattering that AOP was designed to solve.<ref name="steimann"/>
==Implementations==
The following [[programming language]]s have implemented AOP, within the language, or as an external library:
*[[.NET Framework]] languages ([[C Sharp (programming language)|C#]] / [[Visual Basic .NET|VB.NET]])<ref>Numerous:
|