Аспектно-орієнтоване програмування: відмінності між версіями

[неперевірена версія][перевірена версія]
Вилучено вміст Додано вміст
→‎Способи застосування: правопис, стиль
Мітки: Редагування з мобільного пристрою Редагування через мобільну версію
Рядок 36:
 
==Способи застосування==
Використання аспектно-орієнтованого підходу не вимагає повністюповної відмовитисьвідмови від об’єктно-орієнтованої реалізації, оскільки його можна впроваджувати лише частково. Більше того, такий підхід ефективно доповнює об'єктно-орієнтований код. Як показують дослідження аспектно-орієнтованих програм<ref>http://www.jot.fm/issues/issue_2010_01/article2.pdf</ref>, близько 2% їх коду пов'язана з специфічними механізмами мови аспектно-орієнтованого програмування (наприклад, AspectJ); 12% - з базовими механізмами; 86% є об'єктно-орієнтованим.
<br />
Саме тому існують роботи по вдосконаленню програмних каркасів ({{lang-en|frameworks}}) за допомогою технології аспектів<ref>http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.88.2696&rep=rep1&type=pdf</ref>. Об'єктно-орієнтований програмний каркас містить компоненти, що становлять ядро функціонування, та компоненти, що містять додаткову функціональність. При використанні фреймворку стандартна функціональність розширюється за допомогою наслідування. Застосування аспектно-орієнтованого підходу дозволяє, з одного боку, розділити на окремі модулі наскрізну функціональність ядра, з іншого боку — легко додавати функціональність використовуючи аспекти ядра.
<br />
Ефективно можна застосовувати аспектно-орієнтоване програмування для оптимізації шаблонів проектування<ref>http://www.ibm.com/developerworks/ru/library/j-aopwork5/</ref>. Першою значною перевагою є здатність локалізувати код шаблону проектування в одному аспекті або парі тісно пов'язаних аспектів (на відміну від мови Java, де код шаблону може бути розкиданим по багатьом класам). Можливість бачити весь код в одному місці має ряд суттєвих переваг: