Size: a a a

2020 July 14

IK

Ihor Katkov in pro.elixir
Кто-то использует декораторы в проектах?
https://github.com/arjan/decorator
источник

AD

Anastasiya Dyachenko in pro.elixir
источник

IK

Ihor Katkov in pro.elixir
мы тоже, для DataDog
источник

IK

Ihor Katkov in pro.elixir
но я вот думаю, может кто-то использует их для AOP?
источник

VS

Vladimir Sekisov in pro.elixir
а как AOP использовать
в Elixir?
Для него нужны generic функции, наследование или
VM с имиджевой архитектурой.
Ничего из этого нет.
источник

LL

Lama Lover in pro.elixir
Ihor Katkov
но я вот думаю, может кто-то использует их для AOP?
Что за АОР?
источник

DC

Danil Chibrikov in pro.elixir
Lama Lover
Что за АОР?
Aspect-oriented programming
источник

AB

Alex Bubnov in pro.elixir
вот это самое AOP я не понял вообще. по-моему, это какой-то костыль для джава-подобных языков, причем я не понимаю, что они костылят. декораторы питона?
источник

LL

Lama Lover in pro.elixir
Не знаю зачем в elixir декораторы. В пайтоне они неплохо смотрятся, но в elixir этот синтаксис практически бесполезный
Если хочется декораторы в компайле, то можно писать макросы def* (типа defprinted). Если декораторы нужны в рантайме, то в elixir вроде нормально работают функции высшего порядка
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
Не знаю зачем в elixir декораторы. В пайтоне они неплохо смотрятся, но в elixir этот синтаксис практически бесполезный
Если хочется декораторы в компайле, то можно писать макросы def* (типа defprinted). Если декораторы нужны в рантайме, то в elixir вроде нормально работают функции высшего порядка
декораторы композабельны, в отличие от def....
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
декораторы композабельны, в отличие от def....
Это решается :/
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Декораторам можно в скобках запихувывать всякое, а еще их можно одной кнопкой выключать (ну в питоне)
источник

ŹR

Źmićer Rubinštejn in pro.elixir
в языке с мекросами наверное есть способы получше такое делать
источник

AB

Alex Bubnov in pro.elixir
короче, я вижу в AOP/декораторах такой профит, что можно менять поведение вокруг клиентского кода без изменения самого клиентского кода
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
короче, я вижу в AOP/декораторах такой профит, что можно менять поведение вокруг клиентского кода без изменения самого клиентского кода
А без декораторов это нельзя сделать?
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
А без декораторов это нельзя сделать?
можно, но с декораторами чуть красивее.
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
можно, но с декораторами чуть красивее.
Ну хз, пока что единственное что я видел с декораторами — это мультиязыковые решения для мониторинга, где декораторы это следствие мультиязыковости
источник

LL

Lama Lover in pro.elixir
А так, есть прекрасные макросы
источник

LL

Lama Lover in pro.elixir
И есть ещё override и всё такое
источник

VS

Vladimir Sekisov in pro.elixir
Alex Bubnov
вот это самое AOP я не понял вообще. по-моему, это какой-то костыль для джава-подобных языков, причем я не понимаю, что они костылят. декораторы питона?
по сути это добавление мультиметодов  типа before, after, around, sequence, progn, etc "как в Common Lisp"
источник