Аспектно-ориентированное программирование
От: mike1 Россия www.rsdn.ru
Дата: 05.09.02 14:30
Оценка: 8 (1)
Доброго времени суток!

"АСПЕКТ, -а, м. (книжн.). Точка зрения, взгляд на что-и."
словарь Ожегова
"aspect — аспект (свойство, по которому группа данных объединяется в информационно-поисковой системе)"
Lingvo 6.0
"Он принял свой аспект и поднял свой атрибут"
Р. Желязны, "Бог Света"


Сразу прошу прощения — возможно, я спрашиваю об элементарных и всем давно понятных вещах.
В последнее время в разных источниках (в том числе на RSDN) встречаются упоминания об АОП – аспектно-ориентированном программировании. К сожалению, нигде не удается найти действительно толкового и понятного разъяснения смысла этого термина (и всей концепции). Например, пишут такое:

"...С точки зрения высококлассного программиста аспект -- вариант реализации критичных по эффективности процедур, а аспектно-ориентированное программирование (АОП) заключается как в разработке многоаспектных ("прячущих" или инкапсулирующих различные варианты реализации) компонентов, так и в последующей сборке из этих компонентов полнофункциональных приложений..." (с) Андрей Зубинский, IDC Online.

С точки зрения высококлассного- оно, конечно, не то, что с точки зрения всякого ламера... Но вот что такое "аспект" при этом не говорится. Ну, тут понятно. Человек и сам, видимо, не очень понимает, о чем говорит – перевел из буржуйской статьи и напечатал. Но вот что пишут буржуи:

"Indeed, AOP creates systems using loosely coupled, modularized implementations of crosscutting concerns."
I want my AOP!, (c)JavaWorld, Ramnivas Laddad

И там же: The modularization unit in AOP is called an aspect, just as a common concern's implementation in OOP is called a class.
Внешне это разъяснение выглядит как попытка придумать кучку новых терминов и состряпать какой-то свой подход к проектированию... Но потом всплывает какой-то weaving и так далее... При этом приведенный пример как-то неубедительно выглядит...

Что бы это значило? Аглицкий у меня не так силен, чтобы влет все "ткачества и раскорчевки" перевести в родной русский да еще и понять при этом. Может ли кто-нибудь на простом и понятном русском языке изложить суть АОП – например, хотя бы разъяснить толком, что имеется в виду под словом "аспект"? Что за зверь crosscutting concerns? Возможно, есть-таки где-то изложение сути на русском языке, просто я не нашел? В таком случае буду очень благодарен, если кто-нибудь кинет ссылку.

С уважением
Mike(1)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.