АОП
От: QrystaL Украина  
Дата: 12.12.08 10:11
Оценка:
http://aspectdotnet.org/articles/Aspect_NET_Pilsen_2006.pdf

Насколько АОП развито/популярно/стоящее для изучения?
Re: АОП
От: akarinsky Россия  
Дата: 12.12.08 13:14
Оценка: 9 (1)
Здравствуйте, QrystaL, Вы писали:

QL>Насколько АОП развито/популярно/стоящее для изучения?


Развито — не особо: множество различных интерпретаций этого понятия, множество библиотек с разными подходами, далеко не все следуют стандартам (AOP Alliance).
Основных способов реализации — 2: построение динамической прокси средствами кодогенерации (Castle Framework, Spring.NET, BLT)
и постпроцессингом
(когда код аспектов внедряется в процессе компиляции — PostShap, AspectSharp, т.п.). У обоих способов есть достоинства и недостатки.

Популярно — тоже не особо. Многие вообще не знают, что это такое, многие не осознают всех преимуществ AOP,
многих смущает, что аспекты невидимы и бизнес-код, к которому они прикреплены, ведет себя "непредсказуемо".

Стоящее — однозначно! Бизнес-код, использующий АОР, обретает потрясающую гибкость и простоту восприятия.
Правда, при отладке кода с аспектами можно попортить здоровье
На опушке за околицей мужики строили коровник.
Работали споро и весело. Получалось х**во.
Re: АОП
От: C0s Россия  
Дата: 12.12.08 14:48
Оценка: +1
Здравствуйте, QrystaL, Вы писали:

QL>http://aspectdotnet.org/articles/Aspect_NET_Pilsen_2006.pdf


за .NET сказать не могу,

QL>Насколько АОП развито/популярно/стоящее для изучения?


но в мире java достаточно развито (мне известны, как минимум, 3 имплементации), популярно, как минимум, в среде фреймворков и аппсерверов (хотя лично мне доводилось и в прикладной задаче использовать аспекты, уж очень подходили к задаче)

стоит — однозначно, да, это один из приёмов повторного использования кода, применимый без концепций интерфейсов или иерархий классов, что в некоторых случаях помогает сократить или убрать совсем copy-paste
Re: АОП
От: x-code  
Дата: 12.12.08 14:49
Оценка:
Здравствуйте, QrystaL, Вы писали:

QL>http://aspectdotnet.org/articles/Aspect_NET_Pilsen_2006.pdf


QL>Насколько АОП развито/популярно/стоящее для изучения?


Расскажите хоть что это такое А еще лучше — напишите в rsdn хорошую большую статью по сабжу.
Re: АОП
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.12.08 14:57
Оценка:
Здравствуйте, QrystaL, Вы писали:

QL>http://aspectdotnet.org/articles/Aspect_NET_Pilsen_2006.pdf


QL>Насколько АОП развито/


Хорошо развито. Есть специальные компиляторы для Явы, например.

QL>популярно/


Скажем так, очень популярно в очень узких кругах.

QL>стоящее для изучения?


Изучать стоит все на что хватит времени. С АОП как минимум стоит ознакомиться.
Как практическая технология мне она не кажется перспективной. Слишком уж она узко-специализированна.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: АОП
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.12.08 15:04
Оценка:
Здравствуйте, x-code, Вы писали:

QL>>Насколько АОП развито/популярно/стоящее для изучения?


XC>Расскажите хоть что это такое А еще лучше — напишите в rsdn хорошую большую статью по сабжу.


http://k-press.ru/cs/2006/3/aop/AOP.asp
http://k-press.ru/cs/2006/3/AJDT/AJDT.asp
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: АОП
От: mazurkin http://mazurkin.info
Дата: 12.12.08 15:47
Оценка:
> Изучать стоит все на что хватит времени. С АОП как минимум стоит ознакомиться.

Согласен

> Как практическая технология мне она не кажется перспективной. Слишком уж она узко-специализированна.


Не согласен — в чем ее "узко-специализированность"? Это технология очень
широкого спектра применения: безопасность, профайлинг, управление
транзакциями.

В целом считаю, что впечатления от изучения и применения AOP полностью
упираются в качество и способ ее реализации. Надеюсь, когда-нибудь
дождемся полной поддержки AOP в компиляторах.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: АОП
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 12.12.08 17:35
Оценка:
Здравствуйте, akarinsky, Вы писали:

A>Стоящее — однозначно! Бизнес-код, использующий АОР, обретает потрясающую гибкость и простоту восприятия.


Серебрянная пуля?
... << RSDN@Home 1.2.0 alpha 4 rev. 1120 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re: АОП
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 12.12.08 17:37
Оценка: +1
Здравствуйте, QrystaL, Вы писали:

QL>Насколько АОП развито/популярно/стоящее для изучения?


Первое, что следует понимать — несмотря на претенциозность названия, АОП это не парадигма, а просто такой паттерн. И, как и любой паттерн, имеет свои достоинства, недостатки и область применения.
... << RSDN@Home 1.2.0 alpha 4 rev. 1120 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[3]: АОП
От: akarinsky Россия  
Дата: 12.12.08 18:12
Оценка:
Здравствуйте, AndrewVK, Вы писали:

A>>Стоящее — однозначно! Бизнес-код, использующий АОР, обретает потрясающую гибкость и простоту восприятия.

AVK>Серебрянная пуля?
Не, я ей бошку себе пару раз прострелил Как и любым другим средством, им нужно пользоваться с умом и с чувством меры.
На опушке за околицей мужики строили коровник.
Работали споро и весело. Получалось х**во.
Re[2]: АОП
От: mkizub Литва http://symade.tigris.org
Дата: 13.12.08 19:25
Оценка: 1 (1)
Здравствуйте, VladD2, Вы писали:

VD>Как практическая технология мне она не кажется перспективной. Слишком уж она узко-специализированна.


Она вообще не под что не специлизирована. Это просто средство мета-программирования.
По сравнению с другими средствами мета-программирования обладает важной особенностью —
ненужностью изменять синтаксис основного кода, все добавки делаются в него "извне", инжектятся.
В этой особенности — главная сила и главная слабость АОП.
Для него не нужен отдельный компилятор для основного кода. Это позволяет его использовать прямо сейчас, без перехода на новый язык программирования и пр.
Но и сделать он может намного меньше, по сравнению с самостоятельны языками с поддержкой мета-программирования.

Короче, вопрос в том, как далеко система мета-программирования заходит в отказе от фиксированных понятий, насколько она адаптивна.
АОП — минимально адаптивен, но он не требует никаких изменений в основном коде.
Язык с макросами — более адпативен, но он требует переписывания кода на этот язык.
Intentional Programing и MPS — ещё более адаптивны, но они требуют отказа от представления кода как текста, и представления его в виде синтаксического дерева.
SOP ещё более адаптивен — в нём код представлен в виде семантического дерева/графа, а синтаксическое представление генерируется.

Чем дальше по уровню адаптивности — тем больше отход от текущих технологий и сложностей с реализацией, но и больше возможностей.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.