Аспектно-ориентирано програмиране: Разлика между версии

Изтрито е съдържание Добавено е съдържание
Denitsar (беседа | приноси)
Редакция без резюме
Denitsar (беседа | приноси)
Ред 10:
 
== '''История'''==
AOП има няколко преки предшественици А1 и А2:<ref>{{Cite conference | doi = 10.1007/BFb0053381| title = Aspect-oriented programming| work = Proceedings of the 11th European Conference on Object-Oriented Programming| conference = [https://en.wikipedia.org/wiki/European_Conference_on_Object-Oriented_Programming 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| url = http://www.cs.ubc.ca/~gregor/papers/kiczales-ECOOP1997-AOP.pdf}}</ref> рефлексия и метаобектни протоколи, предметно-ориентирано програмиране, Композиционни Филтри и Адаптивно програмиране <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>.
Грегор Кишалес и колегите му от Xerox PARC разработват първоначалната концепция за AOP, на базата, на която създават разширението AspectJ AOP за Java. Изследователският екип на IBM преследва инструментния подход пред този с езиков дизайн и през 2001 г. предлага Hyper J и Concern Manipulation Environment, които така и не успяват да придобият широка употреба. Примерите в тази статия използват AspectJ, тъй като това е най-широко разпространиения език за AOP. Microsoft Transaction Server е считан за първото голямо приложение на AOP последвано от Enterprise JavaBeans.<ref name="BoxSells2002">{{cite book|author1=Don Box|author2=Chris Sells|title=Essential.NET: The common language runtime|url=http://books.google.com/books?id=Kl1DVZ8wTqcC&pg=PA206|accessdate=4 October 2011|date=4 November 2002|publisher=Addison-Wesley Professional|isbn=978-0-201-73411-9|page=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=http://books.google.com/books?id=60oym_-uu3EC&pg=PA285|accessdate=4 October 2011|date=1 January 2005|publisher=John Wiley and Sons|isbn=978-0-7645-8492-3|page=285}}</ref>