Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Aspect-oriented programming
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== AOP has several direct antecedents A1 and A2:<ref>{{Cite conference |doi=10.1007/BFb0053381 |title=Aspect-oriented programming |work=Proceedings of the 11th European Conference on Object-Oriented Programming |conference=[[European Conference on Object-Oriented Programming|ECOOP]]'97 |volume=1241 |pages=220β242 |series=[[Lecture Notes in Computer Science]] (LNCS) |year=1997 |last1=Kiczales |first1=G. |author1-link=Gregor Kiczales |last2=Lamping |first2=J. |last3=Mendhekar |first3=A. |last4=Maeda |first4=C. |last5=Lopes |first5=C. |last6=Loingtier |first6=J. M. |last7=Irwin |first7=J. |isbn=3-540-63089-9 |citeseerx=10.1.1.115.8660 |url=http://www.cs.ubc.ca/~gregor/papers/kiczales-ECOOP1997-AOP.pdf |url-status=live |archive-url=https://web.archive.org/web/20160112141810/http://www.cs.ubc.ca/%7Egregor/papers/kiczales-ECOOP1997-AOP.pdf |archive-date=2016-01-12}}</ref> [[Reflective programming|reflection]] and [[metaobject]] protocols, [[subject-oriented programming]], Composition Filters, and Adaptive Programming.<ref>"Adaptive Object Oriented Programming: The Demeter Approach with Propagation Patterns" ''Karl Liebherr'' 1996 {{ISBN|0-534-94602-X}} presents a well-worked version of essentially the same thing (Lieberherr subsequently recognized this and reframed his approach).</ref> [[Gregor Kiczales]] and colleagues at [[Xerox PARC]] developed the explicit concept of AOP and followed this with the [[AspectJ]] AOP extension to Java. IBM's research team pursued a tool approach over a language design approach and in 2001 proposed [[Hyper/J]] and the [[Concern Manipulation Environment]], which have not seen wide use. The examples in this article use AspectJ. The [[Microsoft Transaction Server]] is considered to be the first major application of AOP followed by [[Enterprise JavaBeans]].<ref name="BoxSells2002">{{cite book|author1=Don Box|author2=Chris Sells|title=Essential.NET: The common language runtime|url=https://archive.org/details/essentialnetcomm01boxd|url-access=registration|access-date=4 October 2011|date=4 November 2002|publisher=Addison-Wesley Professional|isbn=978-0-201-73411-9|page=[https://archive.org/details/essentialnetcomm01boxd/page/206 206]}}</ref><ref name="RomanSriganesh2005">{{cite book|last1=Roman|first1=Ed|last2=Sriganesh|first2=Rima Patel|last3=Brose|first3=Gerald|title=Mastering Enterprise JavaBeans|url=https://books.google.com/books?id=60oym_-uu3EC&pg=PA285|access-date=4 October 2011|date=1 January 2005|publisher=John Wiley and Sons|isbn=978-0-7645-8492-3|page=285}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)