AOP-терминология
От: Kupaev Россия www.rsdn.ru
Дата: 16.11.04 14:00
Оценка:
Существуют ли общепринятые русские аналоги АОП-концепциям advice, introduction и т.д?

Как наиболее по-русски перевести нечто вроде:

Because Spring advises objects at instance, rather than class loader, level, it is possible to use multiple instances of the same class with different advice, or use unadvised instances along with advised instances.

... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Re: AOP-терминология
От: G.I. O_Neil Россия  
Дата: 16.11.04 14:39
Оценка:
Здравствуйте, Kupaev,

K>

K>Because Spring advises objects at instance, rather than class loader, level, it is possible to use multiple instances of the same class with different advice, or use unadvised instances along with advised instances.

Поскольку Spring оповещает/информирует/нотифицирует объекты по (их) требованию/запросам, вместо class loader-а, равнозначно, можно использовать различные методы одного класса с отдельным сообщением или использовать вместе информируемые и неинформируемые методы.

Пардон, прочитать статью целиком сейчас не могу , может, что упустил.
Don't crash the ambulance, whatever you do!
ICQ#327823673
In her dealings with man Destiny never closed her accounts. (c) Oscar Wilde
Re[2]: AOP-терминология
От: Kupaev Россия www.rsdn.ru
Дата: 16.11.04 14:44
Оценка:
Здравствуйте, G.I. O_Neil, Вы писали:

GIO>Здравствуйте, Kupaev,


K>>

K>>Because Spring advises objects at instance, rather than class loader, level, it is possible to use multiple instances of the same class with different advice, or use unadvised instances along with advised instances.

GIO>Поскольку Spring оповещает/информирует/нотифицирует объекты по (их) требованию/запросам, вместо class loader-а, равнозначно, можно использовать различные методы одного класса с отдельным сообщением или использовать вместе информируемые и неинформируемые методы.

GIO>Пардон, прочитать статью целиком сейчас не могу , может, что упустил.


Спасибо, но это немного совсем не то — я ж не зря про концепции писал... Ибо

Advice — набор инструкций языка java, выполняемых до, после или вместо каждой из точек выполнения (JoinPoint), входящих в заданный срез (Pointcut)

... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Re[3]: AOP-терминология
От: G.I. O_Neil Россия  
Дата: 16.11.04 15:04
Оценка:
K>Спасибо, но это немного совсем не то — я ж не зря про концепции писал... Ибо
K>

K>Advice — набор инструкций языка java, выполняемых до, после или вместо каждой из точек выполнения (JoinPoint), входящих в заданный срез (Pointcut)


Don't crash the ambulance, whatever you do!
ICQ#327823673
In her dealings with man Destiny never closed her accounts. (c) Oscar Wilde
AOP-терминология
От: Alex Reyst Россия  
Дата: 17.11.04 07:29
Оценка: 77 (4)
#Имя: FAQ.dictionary.aop
Здравствуйте, Kupaev, Вы писали:

K>Существуют ли общепринятые русские аналоги АОП-концепциям advice, introduction и т.д?


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

Возможно, попытка ввести русскую терминологию была сделана здесь (у меня нет этого журнала).
Думаю, нет смысла указывать на достаточно немногочисленные источники в И-нете (не думаю, что они прошли мимо Вашего внимания). Достойных всего два: статьи на javable.com и неплохая статья здесь; причем даже в пределах одной статьи используются различные переводы одного и того же термина (особенно досталось concern'у).

Мое более чем humble opinion в "наведении порядка":

Concern — функциональный блок ( ) — набор функций системы, направленных на решение некоторой общей задачи.
Cross-cutting concern — сквозная функциональность (здесь
Автор: Alex Reyst
Дата: 02.11.04
я наверное поторопился)
набор функций, локализовать реализацию которых в отдельном модуле традиционными средствами невозможно или крайне затруднительно, поэтому затрагивающих значительную часть модулей системы. В то же время задачи, решаемые этими функциями, обычно не относятся напрямую к предметной области.
Aspect — аспектпрограммный модуль, в котором локализуется реализация сквозных функций системы. В AspectJ — объект, интегрирующий отдельные сквозные функции системы (advices) и привязывающий их выполнение к некоторому срезу точек вставки (pointcuts).
Insertion point, join point — точка вставкиместо основной программы, к которому привязывается выполнение отдельных функций аспекта.
Pointcut — срез точек вставкинабор точек вставки, удовлетворяющих некоторому заданному условию.
Advice — стык ( извещение? метод аспекта? стыковочный код?)отдельная функция (метод) аспекта, выполняемая в точке вставки.
Introduction — нововведение ( подключение)метод изменения структуры наследовании и реализаций существующей системы (добавления интерфейса к классу; изменения цепочки наследования).
Weaving — компоновкаинтеграция кода функций аспекта с основным кодом.

Уфф... На вид ужасно, но ничего лучше в голову не приходит.

K>Как наиболее по-русски перевести нечто вроде:


K>Because Spring advises objects at instance, rather than class loader, level, it is possible to use multiple instances of the same class with different advice, or use unadvised instances along with advised instances.


Поскольку Spring привязывает выполнение отдельных методов аспекта (стыковочного кода) к конкретным объектам, а не к классу в целом, становится возможным использование нескольких экземпляров класса с различными методами аспекта, также как и одновременное использование связанных и не связанных с методами аспекта экземпляров класса.

(Ой, чегой-то мне сегодня не колдуется с утра )
Все, что здесь сказано, может и будет использоваться против меня...

14.02.06 20:57: Перенесено модератором из 'Проблемы перевода' — Kupaev
Re[2]: AOP-терминология
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.11.04 04:03
Оценка: 16 (1)
Здравствуйте, Alex Reyst, Вы писали:

В целом отлично. Хотел написать то же самое, но застрял на терминах. Имхо, не хватает еще одного — глагола для advice, который собственно означает "подключение стыковочного кода к точкам вставки".
Возможно, имеет смысл использовать агротехнические термины "привой", "подвой", и, соответственно, "прививать"?
В металлургии это были бы присадки, основы и легирование.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: AOP-терминология
От: Alex Reyst Россия  
Дата: 18.11.04 04:33
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Имхо, не хватает еще одного — глагола для advice, который собственно означает "подключение стыковочного кода к точкам вставки".


to advise = привязывать, пристыковывать?

S>Возможно, имеет смысл использовать агротехнические термины "привой", "подвой", и, соответственно, "прививать"?


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

Про привой/подвой/прививать мне мысль не пришла. Это достаточно интересно, но при этом совершенно теряется важная смысловая компонента — то, что ОДИН И ТОТ ЖЕ advice пристыковывается к МНОЖЕСТВУ точек. Понятие проходящей через весь код "нити" в данном случае было бы как раз кстати, но это слово уже "занято" и его использование может привести к недоразумениям.

"Металлургическая" тема мне нравится больше, вопрос, насколько она понятна остальным.

В целом вопрос хорошего перевода остается открытым.

P.S. Sorry за несвязность мыслей, совершенно не выспался.
Все, что здесь сказано, может и будет использоваться против меня...
Re[2]: AOP-терминология
От: Кодт Россия  
Дата: 18.11.04 10:38
Оценка: 5 (1)
Здравствуйте, Alex Reyst, Вы писали:

To weave -- ткать, плести? (близко по смыслу к "компоновать", но тут подчёркивается взаимопроникающая роль аспектов)
Перекуём баги на фичи!
Re[3]: AOP-терминология
От: Alex Reyst Россия  
Дата: 18.11.04 12:11
Оценка:
Здравствуйте, Кодт, Вы писали:

К>To weave -- ткать, плести? (близко по смыслу к "компоновать", но тут подчёркивается взаимопроникающая роль аспектов)


Слишком неформально это выглядит в русском языке. Кроме того, я боюсь возникновения ассоциаций с thread/fiber.

З.Ы. Гораздо больше меня интересует "единообразный" перевод слова concern...
Все, что здесь сказано, может и будет использоваться против меня...
Re[4]: AOP-терминология
От: Kupaev Россия www.rsdn.ru
Дата: 05.10.06 16:10
Оценка: :))
Здравствуйте, Alex Reyst, Вы писали:

AR>Здравствуйте, Кодт, Вы писали:


К>>To weave -- ткать, плести? (близко по смыслу к "компоновать", но тут подчёркивается взаимопроникающая роль аспектов)


AR>Слишком неформально это выглядит в русском языке. Кроме того, я боюсь возникновения ассоциаций с thread/fiber.


AR>З.Ы. Гораздо больше меня интересует "единообразный" перевод слова concern...


Да уж, "отношение" однозначно будет пересекаться с relation. Меня вот еще интересует, как перевести очень часто попадающееся "the code that is being advised" и кучу их придумок типа "before, after, and around advice"... Тут уже "стык", имхо, не подойдет...

В общем, будь проклят тот день, когда я сел за баранку этого пылесоса. Предрекаю — АОП загнется из-за терминологии.
Re[5]: AOP-терминология
От: Alex Reyst Россия  
Дата: 06.10.06 08:09
Оценка: 10 (1)
Здравствуйте, Kupaev, Вы писали:

K>Предрекаю — АОП загнется из-за терминологии.


Ну, из-за терминологии еще никто не загибался. Будет надо — будут спикать корявой мовой, адвайзить поинткаты, слайсить тонкими ломтиками и т.п. — чем, собственно, сейчас и занимаются.
И вообще, разве может загнуться технология, которую почтили упоминанием великие авторы великого Nemerle?

K>Тут уже "стык", имхо, не подойдет...


"Стык" с самого начала был ярким примером дебилизма, и меня таки удивляет, что мне сразу не надавали по мозгам как следует.

Хотя трудности перевода в данном случае очевидны. Вот в Википедии все три связанные с АОП статьи: АОП1, АОП2 и АОРПО используют различные системы терминов.

Вариантов-то собственно, всего четыре:
1. Заимствование. Адвайзить поинткаты, аспектировать консерны и затем вейвить всю эту кашу. Ну это мне самому страшно.
2. Семантическое калькирование, т.е. дословный перевод — уже отпал, т.к. на русском это ужасно коряво — во-первых, и не передает смысла — во-вторых (из-за несоответствия коннотаций английского advice и т.п. и возможных русских переводов). Годится только для aspect=аспект.
3. Переместить целиком всю систему терминов в другую предметную область, как предложил Sinclair
Автор: Sinclair
Дата: 18.11.04
— тогда, например, the code that is being advised превратится в даже более короткие "подвой" или "легируемый код". Но и тут не без затыков: не всегда существуют достаточно прямые анологии — и, скажем, для тех же before/after advices я не вижу аналогов ни в металлургии, ни в с/х.
4. Вводить описательную терминологию, стараясь лишь ее сократить насколько возможно. Тогда примерно так (нагло использовались различные источники):

Insertion point, join point — точка вставки/присоединания/привязки.
Pointcut — срез точек вставки/присоединения/привязки, в контексте достаточно просто "срез". Попавшийся "код применимости аспекта" imho просто бред.
Advice — метод аспекта, аспектный метод (АМ). Этот вариант мне нравится главным образом потому, что он пришел в голову мне самому . Другой неплохой вариант — код/метод/фрагмент вставки.
— before advice — начальный АМ
— after advice — конечный АМ
— around advice — свободный АМ
— afterreturning advice — АМ возврата
— afterthrowing advice — АМ исключения
Weaving — интеграция.
Сode that is being advised — иньектируемый код.

Опять ерунда получается. Видимо, на большее я не способен...

З.Ы. что за странный модераториал здесь
Автор: Alex Reyst
Дата: 17.11.04
?
Все, что здесь сказано, может и будет использоваться против меня...
Re[6]: AOP-терминология
От: Kupaev Россия www.rsdn.ru
Дата: 06.10.06 11:14
Оценка:
Здравствуйте, Alex Reyst, Вы писали:

AR>И вообще, разве может загнуться технология, которую почтили упоминанием великие авторы великого Nemerle?


Может, может, еще как может. Она, имхо, не шибко буйно и расцвела-то пока. Это я сейчас сижу с одной из статей цикла AOP@Work, собственно, потому и вернулся к теме.

AR>"Стык" с самого начала был ярким примером дебилизма, и меня таки удивляет, что мне сразу не надавали по мозгам как следует.


Ну вот еще. С чего бы?

AR>Хотя трудности перевода в данном случае очевидны. Вот в Википедии все три связанные с АОП статьи: АОП1, АОП2 и АОРПО используют различные системы терминов.


Я бы сказал, они просто используют англоязычные терины. Только в url=http://ru.wikipedia.org/wiki/Аспект-ориентированное_программирование]АОП2[/url] есть попытка русского перевода.

AR>Вариантов-то собственно, всего четыре:

AR>1...
AR>2...
AR>3...

Именно так все и есть.

AR>4. Вводить описательную терминологию, стараясь лишь ее сократить насколько возможно. Тогда примерно так (нагло использовались различные источники):


AR>Insertion point, join point — точка вставки/присоединания/привязки.

AR>Pointcut — срез точек вставки/присоединения/привязки, в контексте достаточно просто "срез". Попавшийся "код применимости аспекта" imho просто бред.
AR>Advice — метод аспекта, аспектный метод (АМ). Этот вариант мне нравится главным образом потому, что он пришел в голову мне самому . Другой неплохой вариант — код/метод/фрагмент вставки.

Может, так "вставкой" и обзовем? Коротко и ясно.

AR> — before advice — начальный АМ

AR> — after advice — конечный АМ
AR> — around advice — свободный АМ

Поскольку это код, выполняемый (соответственно) до, после или вместо кода точки вставки, "начальный" и "конечный", имхо, не совсем подходят. В общем, как с before- и after-триггерами специальных терминов не появилось, так и тут, наверное, придется обойтись чем-нибудь типа "before-вставки" (а around advice — чем не заменяющий код?)...

AR> — afterreturning advice — АМ возврата

AR> — afterthrowing advice — АМ исключения
AR>Weaving — интеграция.

+1

AR>Сode that is being advised — иньектируемый код.


AR>Опять ерунда получается. Видимо, на большее я не способен...


Не совсем ерунда. Совсем даже не ерунда.

AR>З.Ы. что за странный модераториал здесь
Автор: Alex Reyst
Дата: 17.11.04
?

Он был не странным, пока я не написал пред. сообщение — тема вроде бы была в FAQ, а теперь, как вижу, вернулась в форум. Вот это как раз странно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Re[7]: AOP-терминология
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 06.10.06 11:25
Оценка:
Здравствуйте, Kupaev, Вы писали:

K>Он был не странным, пока я не написал пред. сообщение — тема вроде бы была в FAQ, а теперь, как вижу, вернулась в форум. Вот это как раз странно.


форум FAQ — это отдельная пестня, не надо туда ничего переносить, добавление в FAQ этого форума делается редактированием сообщения (добавлением признака)
... << RSDN@Home 1.2.0 alpha rev. 655>>
Re[7]: AOP-терминология
От: Alex Reyst Россия  
Дата: 06.10.06 11:41
Оценка:
Здравствуйте, Kupaev, Вы писали:

AR>>"Стык" с самого начала был ярким примером дебилизма, и меня таки удивляет, что мне сразу не надавали по мозгам как следует.

K>Ну вот еще. С чего бы?

1. "Стык" — это в первую очередь вид соединения. Речь же идет об одном из компонентов соединения.
2. Не отражается неравноправность встраиваемого и базового кода.

K>Может, так "вставкой" и обзовем? Коротко и ясно.


Почему нет?

K>Поскольку это код, выполняемый (соответственно) до, после или вместо кода точки вставки, "начальный" и "конечный", имхо, не совсем подходят. В общем, как с before- и after-триггерами специальных терминов не появилось, так и тут, наверное, придется обойтись чем-нибудь типа "before-вставки" (а around advice — чем не заменяющий код?)...


Стоп. Я наверное, просто не в теме. Разве "around advice" — вставка, выполняемая вместо другого кода? А не вставка, для которой безразлично, будет она выполнена до основного кода точки вставки или после?!

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

Ну, или как зверский вариант по аналогии с пред/постусловиями — предвставка и поствставка .

K>Он был не странным, пока я не написал пред. сообщение — тема вроде бы была в FAQ, а теперь, как вижу, вернулась в форум. Вот это как раз странно.


Неисповедимы пути и деяния Движка RSDN. Лишь Большие Мудрые Жрецы с маленьким uid знают тайны его...
Все, что здесь сказано, может и будет использоваться против меня...
Re[8]: AOP-терминология
От: Kupaev Россия www.rsdn.ru
Дата: 06.10.06 11:54
Оценка:
Здравствуйте, Alex Reyst, Вы писали:


K>>Поскольку это код, выполняемый (соответственно) до, после или вместо кода точки вставки, "начальный" и "конечный", имхо, не совсем подходят. В общем, как с before- и after-триггерами специальных терминов не появилось, так и тут, наверное, придется обойтись чем-нибудь типа "before-вставки" (а around advice — чем не заменяющий код?)...


AR>Стоп. Я наверное, просто не в теме. Разве "around advice" — вставка, выполняемая вместо другого кода? А не вставка, для которой безразлично, будет она выполнена до основного кода точки вставки или после?!


Не скажу, что я так уж в теме, но судя по определению здесь:

Advice – java код выполняемый до (before advice), после (after advice) или вместо (around advice) каждой точки выполнения входящих в определённый pointcut.

все же вместо.

<...>

AR>Неисповедимы пути и деяния Движка RSDN. Лишь Большие Мудрые Жрецы с маленьким uid знают тайны его...


О да. Я тоже не шибко посвящен в его сакральные тайны.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Re[9]: AOP-терминология
От: Alex Reyst Россия  
Дата: 06.10.06 12:18
Оценка:
Здравствуйте, Kupaev, Вы писали:

K>все же вместо.


Ага. Лоханулся. Посмотрел первоисточники. Это вставка и "спереди", и "сзади", только в отличие от after/before ее первая часть позволяет влиять на выполнение основного кода (выполнять его или нет).
Т.е. слова "вместо", "заменяет" также некорректны. "Окружающий АМ" тогда. А вот "окружающая вставка" и т.п. уже не получается .
Все, что здесь сказано, может и будет использоваться против меня...
Re[10]: AOP-терминология
От: Kupaev Россия www.rsdn.ru
Дата: 06.10.06 12:41
Оценка:
Здравствуйте, Alex Reyst, Вы писали:

K>>все же вместо.


AR>Ага. Лоханулся. Посмотрел первоисточники. Это вставка и "спереди", и "сзади", только в отличие от after/before ее первая часть позволяет влиять на выполнение основного кода (выполнять его или нет).

AR>Т.е. слова "вместо", "заменяет" также некорректны. "Окружающий АМ" тогда. А вот "окружающая вставка" и т.п. уже не получается .

Что ж. "Будем искать"(с)Бриллиантовая рука.
... << RSDN@Home 1.2.0 alpha rev. 637>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.