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

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

Я хоть и имею опыт реализации DSL на groovy, но статья все равно выглядит мануалом «как нарисовать сову» — сначала показывается обычный подход, ок, всем все понятно. Далее — «в groovy можно написать свой builder», и дается код, который это делает. И «резюмируется», что область применения у этого большая. Если бы я не был знаком с groovy, у меня возникли бы следующие вопросы — как это работает? что за класс BuilderSupport, который мы расширяем? Что за методы CreateNode и SetParent, которые мы перегружаем, когда они вызываются? Как, черт возьми, работают замыкания в groovy? (точнее, я даже не знал бы, что для работы билдеров, используются замыкания с модменой контекста).
ИМХО, статья вызывает больще вопросов, чем что-то объясняет. Простую и доходчивую книгу «Groovy for domain-specific languages» я в свое время прочитал за вечер. Кстате, есть перевод на русский.
Спасибо за критику, учту! Писал статью в расчете на то, что читатель знаком с Groovy и может в Groovy API найти описание BuilderSupport. Когда вызываются методы CreateNode и setParent вроде написал вкратце, в API есть более подробное описание. Книга отличная, всем кто заинтересовался DSL на Groovy было бы здорово почитать. Вот только я не встречался с русскоязычным переводом, не могли бы Вы кинуть ссылку, где ее можно купить или скачать?
Прошу прощения, насчет перевода ошибся. Оригинал настолько легко и быстро читался, что остались впечатления, как будто это перевод :-)
Выглядит не на 30% понятно, но заманчиво.
А можно ли где-нибудь найти реализацию этого «билдера»? Мне кажется, что на Swift он отсутствует, что несколько мотивирует портировать его туда.
А если и не портировать, то может какие-то идеи впитать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации