Что такое Eclipse Modeling Framework? - PullRequest
6 голосов
/ 20 июня 2011

Извините, это может показаться слишком простым, но я не совсем понимаю, что такое Eclipse Modeling Framework?

На основе своего веб-сайта генерирует Java-код на основе спецификации XML.
Интересно, это что-то вроде визуальной парадигмы? И генерирует ли он код для других языков (например, PHP) или только для Java?

Спасибо.

Ответы [ 2 ]

6 голосов
/ 20 июня 2011

EMF - это инфраструктура, которая может взять модель (как описано в файле .ecore) и сгенерировать поддерживающие файлы Java, которые можно использовать с EMF для создания, загрузки, управления и сохранения экземпляров этой модели.

Это означает, что вы используете EMF при написании Java-приложения и хотите манипулировать моделью (абстрактное синтаксическое дерево для языка, модель, которая может отображаться вашим представлением, домен, которым необходимо манипулировать, и т. Д.) .

Существует множество проектов по моделированию, в которых добавлена ​​поддержка все большего количества функциональных возможностей, но большинство из них основано на EMF.

3 голосов
/ 20 июня 2011

По сути, EMF - это среда для разработки инструментов разработки на основе моделей (MDD).

Инструменты, которые вас заинтересуют, находятся в разделе Модель в текст (M2T) . Используя такие инструменты, как JET , вы можете создавать бизнес-объекты, содержащие логику, а не просто DTO, на любом языке, который вам нужен. Вы можете генерировать код из доменных языков (DSL), которые вы определяете сами (обычно в XML) или из стандартных языков моделирования ( UML или Encore ).

Когда вы выбрали язык моделирования, существуют способы построения моделей с использованием графических инструментов ( GMF ). Кроме того, в EMF есть инструменты проверки / перевода, которые вы ожидаете.

Опробовав несколько инструментов генерации кода, могу сказать, что это был полезный эксперимент. Тем не менее, это требует значительных инвестиций в обучение и ставит вас в зависимость от одного конкретного инструмента. Если вы нуждаетесь в инструменте для генерации кода, также учтите, что у вас может быть языковой запах или вы не рефакторировали достаточно дублирования.

...