2. О чем пойдет речь?
• Метапрограммирование, техники М.,
применение М.
• Насколько Ruby предрасположен к
метапрограммированию? и почему?
• Инструменты метапрограммирования в Ruby
• Примеры применения в популярных гемах
(ActiveRecord, oAuth)
2
8. Ruby
&&
Meta programming
Meta programming
Meta programming
• Classes are open
• Runtime Class defenitions
• Any called method have a reciver
• Class «==» Object
8
28. Инструменты
метапрограммирования
в Ruby
в Ruby
• Получение, установка значений и уничтожение
переменных
• Получение, установка значений и уничтожение
констант
• Добавление и удаление методов
• Динамическое выполнение кода
• Методы для рефлексии (интроспекции)
28
Итак, о чем же пойдет речь? В своем докладе я хочу рассказать: Кратко, что такое метапрограммирование, какие бывают техники метапрограммирования и их применение (весьма краткий экскурс в данную тему). После этого рассмотрим насколько Ruby предрасположен к метапрограммированию и почему. После этого пробежимся по инструментам метапрограммирования в Ruby и в заключение приведу примеры метапрограммирования в популярных гемах (ActiveRecord в Rails, oAuth и др)
метапрограммирование — это парадигма построения кода информационной системы с динамическим изменением поведения или структуры в зависимости от данных, действий пользователя или взаимодействия с другими системами. Задачи метапрограммирования: повышение абстракции кода и его гибкости, повторное использование, ускорение разработки, упрощение межсистемной интеграции.
James Whitcomb Riley «Если он ходит как утка, крякает как утка, то я буду называть его уткой!»