Как стать автором
Обновить

Комментарии 6

Небольшое замечание: много опечаток по тексту.
Декораторы — отличная штука. Ну и стоит посмотреть, как отлично они используются на примере Angular2.
На декораторах (аннотациях) можно писать еще много чего полезного. Например, в Java на них построены популярные фреймворки тестирования JUnit и TestNG и фрейворк разработки больших приложений Spring Framework. Поскольку все больше бекенда переезжает на фронтенд, то и методы разработки больших проектов становятся все более востребованными. Angular 2 уже содержит фреймворк dependency injection и сдается мне, что через год-два использование таких штук будет уже стандартом написания больших фронтенд-приложений.
Аннотации — это немного из другой оперы. Аннотации — это просто статические метаданные, которые можно проанализировать через отражение. А декораторы — это активные преобразователи функций. Декоратор оборачивает одну функцию в другую. Вероятно, в каком-то виде они могут добавлять метаданные по типу аннотаций, но это зависит от языка, я думаю. С точки зрения Java декораторы ближе к AOP-фреймворкам, чем к аннотациям. Просто так получилось, что синтаксис у них похожий.
по поводу картинки:

decorate = decorate(decorate)
// Каждый раз проверяем, что у нас нет циклических ссылок

Там дальше, вероятно, надо использовать r, а не result.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий