Статьи о метапрограммировании ...
Вчера сохранил ссылки на цикл из трех статей по метапрограммированию
Искусство метапрограммирования, Часть 1: Введение в метапрограммирование
Искусство метапрограммирования, Часть 2: Метапрограммирование с использованием Scheme
Искусство метапрограммирования: Часть 3. Корпоративное метапрограммирование
Выдалось немного времени и просмотрел краем глаза
Метапрограммирование (программирование с использованием генераторов кода, или написание программ, которые сами пишут код) имеет множество полезных свойств, таких как упрощение обслуживания кода и облегчение использования стереотипного кода.По двум первым абзацам можно сказать: "Так это же
... если у вас есть большое приложение, в котором множество функций включает длинный стереотипный код, вы можете создать мини-язык, который будет создавать стереотипный код вместо вас и даст вам возможность кодировать только важные части программы. Здесь, если вы сможете, лучше всего абстрагировать стереотипные фрагменты в функцию. Но часто эти фрагменты не столь приятны. Возможно есть список переменных, которые нужно объявить в каждом экземпляре, возможно есть необходимость зарегистрировать обработчики ошибок, возможно существует несколько стереотипных фрагментов, которые должны включать код в определенных обстоятельствах. Все это делает создание простой функции невозможным. Часто в таких ситуациях хорошей идеей является создание мини-языка, что позволит вам работать с таким кодом более простым способом. Этот мини-язык затем конвертируется в исходный код на обычном языке программирования перед компиляцией.
... Мы определили проблемы, которые лучше всего решаются при помощи генерирующих код программ, включая:
- Программы, нуждающиеся в предварительно сгенерированных таблицах данных
- Программы, имеющие много стереотипного кода, который нельзя абстрагировать в функции
- Программы, использующие технологии, которые слишком многословно выражаются на языке программы
А вот третья часть все-таки немного заинтересовала. Заинтересовала тем, что там представлена генерация объектов БД и объектов программы на основе диаграмм, полученных из программы Dia.
PS
Да как-то давно смотрел книжку Сode Generation in Аction может кто найдет там чего интересного по теме. И в ресурсах к статьям рекомендуют посмотреть на AndroMDA.
PS2
Лазая по AndroMDA нашел там и бизнес-процессы bpm4struts
0 comments:
Отправить комментарий