Что читать как хорошее вступление и краткий обзор аспектно-ориентированного программирования и метапрограммирования? - PullRequest
2 голосов
/ 12 мая 2010

Поскольку я обнаружил, что повторяю много раз, пишу очень похожие запросы и классы для разных сущностей (несмотря на строгую нормализацию объектов и отношений) и т. Д., Я пришел к идее, что я могу и должен автоматизировать большая часть этого и написать механизм, который будет компилировать простые декларативные модели, которые я указываю во всем коде, ограничивающем мою работу, чтобы описать задачу, и, наконец, просто настроить результат по мере необходимости.

Насколько я знаю, речь идет о метапрограммировании и аспектно-ориентированном программировании. Как быстро познакомиться с современными инструментами, чтобы не изобретать еще один велосипед для разработки своего собственного?

Ответы [ 3 ]

1 голос
/ 12 мая 2010

Для хорошей книги, представляющей эти концепции, см. Моделирование на уровне предметной области: Включение полной генерации кода создателями инструмента DSM, MetaEdit +

Доменно-специфическое моделирование - это способ воплотить ваши концепции в модели генерации кода, охватывающий АОП и метапрограммирование.

Я работаю над ABSE, системой, которая позволяет вам определять аспекты и концепции, а затем автоматизировать ваши задачи с помощью инфраструктуры генерации кода.

0 голосов
/ 31 мая 2010

Несмотря на то, что он нацелен на конкретный язык программирования, обсуждение обобщений в ConceptC ++ учебнике превосходно. Концептуальный подход, который они используют, применим практически к любому типу упражнения по обобщению - я смог адаптировать его для использования в обобщениях на уровне функций в J, что примерно так же далеко, как и опыт программирования на C ++.

0 голосов
/ 12 мая 2010

Самым общим фоном для понимания метапрограммирования являются программные преобразования . Это действия, которые преобразуют программу (фрагменты) в другую программу (фрагменты). Все метапрограммирование можно объяснить следующими терминами: генерация, метапрограммирование шаблонов, оптимизация кода, аспектно-ориентированное программирование, ...

...