
- •1.Роботи в області аспектно-орієнтованого програмування
- •2.1.Еволюція методологій розробки пз
- •2.2.Система як набір функціональних вимог
- •2.3.Наскрізна функціональність в системі
- •3.Введення в аоп
- •3.1.Основні концепції аоп
- •3.2.Переваги використання аоп
- •3.3.Недоліки аспектного підходу
- •3.4.Aspectj як одна з реалізацій аоп
- •3.5.Інші реалізації аоп
- •Висновок
- •Список літератури
3.5.Інші реалізації аоп
В даний момент, окрім представленої вище мови ASPECTJ, відомо декілька систем тих, що реалізовують принципи АОП:
ANGIE Generation Now! Надає нову структуровану мову для реалізації різних генераторів, зокрема інтеграторів аспектів.
AspectC++. Це аспектно-орієнтоване розширення мови С++.
ASPECTR. Система аспектно-орієнтованого програмування на основі мови Ruby, яка дозволяє в класах обертати код навколо існуючих методів.
ASPECTS. Це один з перших прототипів, який дає можливість аспектно-орієнтованого програмування в середовищі Squeak/Smalltalk.
Apostle система близька до ASPECTJ, яка є АОП розширенням мови Smalltalk.
ASPECTC. Просте АОП розширення мови З, схоже на ASPECTJ.
AspectC# реалізація, що додає підтримку аспектів до мови C#.
Caesar. Аспетно-орієнтована мова програмування, яка фокусується на багатобічному підході до декомпозиції і повторному використанні аспектного коду.
DemeterJи DJ. Робляться кроки у бік структурної інкапсуляції крізної функціональності.
Hyper/J. Надає підтримку "багатовимірного" розділення і інтеграції концепцій для стандартної java-платформи.
JAC. Є основою, написаною на мові Java, для створення розподілених аспектно-орієнтованих програмних систем.
JMangler. Є каркасом на мові Java для перетворення програм на етапі завантаження, з підтримкою безконфліктної композиції з незалежної один від одного розроблених аспектів (що реалізовуються у вигляді перетворюючих компонентів системи JMangler). Також є можливість інтеграції аспектів в базові класи Java .
MixJuice це розширення мови Java, що базується на механізмі пошуку відмінностей в модулях.
MozartProgramming System це розширена платформа для розробки "розумних і інтелектуальних" розподілених застосувань.
ObjectEverywhere — стаття, АОП, що описує, каркас, що базується на COM і мові Delphi.
PROSE — аспектно-орієнтована платформа, що базується на віртуальній машині Java, і що дозволяє динамічне вбудовування і вичленення аспектного коду.
Pythius проект з відкритим початковим кодом, що додає принципи АОП до мови Python.
SmartTools — аспектно і XML орієнтований генератор семантичних каркасів.
UMLAUT є системою, яка дозволяє вбудовувати багатовимірні високорівневі UML проектні моделі в моделі відповідні для кожного конкретного випадку реалізації.
Weave.NET проект, направлений на дослідження механізму підтримки АОП без прив'язки до конкретної мови програмування усередині компонентної моделі .NET Framework.
Висновок
В рамках роботи було проведено дослідження проблеми застосовності аспектно-орієнтованого підходу при розробці програмних систем. Були введені критерії порівняння традиційних об'єктно-орієнтованих реалізацій з аспектно-орієнтованими. На підставі результатів порівняння реалізацій був зроблений висновок про позитивний ефект при застосуванні АОП на різних етапах життєвого циклу програмних систем, а також розглянуті нові варіанти застосування аспектів і вирішення типових задач з використанням АОП, раніше не описані в літературі.