Content deleted Content added
Reverted vandalism by 122.180.244.220 |
No edit summary |
||
Line 180:
== Comparison to other programming paradigms ==
Aspects emerged from [[object-oriented programming]] and [[computational reflection]]. AOP languages have functionality similar to, but more restricted than [[Metaobject|metaobject protocols]]. Aspects relate closely to programming concepts like [[subjects (programming)|subjects]], [[mixin]]s, and [[delegation (programming)|delegation]]. Other ways to use aspect-oriented programming paradigms include [[Composition Filters]] and the [[Hyper/J|hyperslices]] approach. Since at least the 1970s, developers have been using forms of interception and dispatch-patching that resemble some of the implementation methods for AOP, but these never had the semantics that the crosscutting specifications provide written in one place. {{Citation needed|date=February 2019}}
Designers have considered alternative ways to achieve separation of code, such as [[C Sharp (programming language)|C#]]'s partial types, but such approaches lack a quantification mechanism that allows reaching several join points of the code with one declarative statement.
|