Content deleted Content added
Rescuing 1 sources and tagging 0 as dead. #IABot (v1.2.5) |
m change |id={{citeseerx}} to |citeseerx= |
||
Line 12:
==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|
[[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 usage. The examples in this article use [[AspectJ]] as it is the most widely known AOP language.{{Citation needed|date=November 2010}}
Line 239:
*[[Emacs Lisp]]<ref>[https://www.gnu.org/software/emacs/elisp/html_node/Advising-Functions.html Emacs Advice Functions]</ref>
*[[Groovy (programming language)|Groovy]]
*[[Haskell (programming language)|Haskell]]<ref>[[monad (functional programming)]] ({{cite journal |
*[[Java (programming language)|Java]]<ref>Numerous others: [http://www.caesarj.org/ CaesarJ], [http://composestar.sourceforge.net/ Compose*], [http://dynaop.dev.java.net/ Dynaop], [http://jac.objectweb.org/ JAC], [[Google Guice]] (as part of its functionality), [http://www.csg.is.titech.ac.jp/~chiba/javassist/ Javassist], [http://ssel.vub.ac.be/jasco/ JAsCo (and AWED)], [http://www.ics.uci.edu/~trungcn/jaml/ JAML], [http://labs.jboss.com/portal/jbossaop JBoss AOP], [http://roots.iai.uni-bonn.de/research/logicaj LogicAJ], [http://www.objectteams.org/ Object Teams], [http://prose.ethz.ch/ PROSE], [http://www.aspectbench.org/ The AspectBench Compiler for AspectJ (abc)], [[Spring framework]] (as part of its functionality), [[Seasar]], [http://roots.iai.uni-bonn.de/research/jmangler/ The JMangler Project], [http://injectj.sourceforge.net/ InjectJ], [http://www.csg.is.titech.ac.jp/projects/gluonj/ GluonJ], [http://www.st.informatik.tu-darmstadt.de/static/pages/projects/AORTA/Steamloom.jsp Steamloom]</ref>
**[[AspectJ]]
Line 274:
==Further reading==
* {{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|
* {{cite book |author1=Andreas Holzinger |author2=M. Brugger |author3=W. Slany | year = 2011 | title = Applying Aspect Oriented Programming (AOP) in Usability Engineering processes: On the example of Tracking Usage Information for Remote Usability Testing.|others=D. A. Marca, B. Shishkov and M. v. Sinderen (editors)|work=Proceedings of the 8th International Conference on electronic Business and Telecommunications. Sevilla|pages=53–56}}
* {{cite book |author1=Robert E. Filman |author2=Tzilla Elrad |author3=Siobhán Clarke |author4=Mehmet Aksit | year = 2004 | title = Aspect-Oriented Software Development | isbn = 0-321-21976-7}}
|